- LRCKF68A ;DALOI/RWF/RLM-CHECK FILE 68 (CONT);8/27/87 10:32
- ;;5.2T9;LR;**1018**;Nov 17, 2004
- ;;5.2;LAB SERVICE;**272**;Sep 27, 1994
- ; Reference to CHK^DIE supported by IA #2053
- ; Reference to $$FMTE^XLFDT supported by IA #10103
- ; Reference to ^%ZOSF("TEST") supported by IA #10096
- ;
- Q ;Continuation of LRCKF68
- TESTV ; validation of data elements at TESTS multiple of ACCESSION NUMBER subfile
- I $D(^LAB(60,+LA4,0))[0 S E=5 D NAME S:E @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,.01")=">>FATAL<< - Invalid TEST pointer to LABORATORY TEST file (#60) found at TESTS multiple of the ACCESSION subfile. Entry: "_LRAN
- I $D(^LAB(62.05,+$P(LRSTR,U,2),0))[0 S E=6 D NAME S:E @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,1")=">>FATAL<< - Invalid URGENCY OF TEST pointer to URGENCY file (#62.05) found at TESTS multiple of the ACCESSION subfile. Entry: "_LRAN
- S Y=$P(LA4,U,3) Q:'+Y S LRLL=+Y,LRTRAY=$P(Y,";",2),LRCUP=$P(Y,";",3),L=$S($D(^LRO(68.2,LRLL,1,LRTRAY,1,LRCUP,0)):^(0),1:"")
- I LRWARN,L="" S E=9 D NAME S:E @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,2",1)=">>WARNING<< - Accession points to a load/work list entry that is missing"
- I LRWARN,$P(L,U,1,3)'=(LRAA_U_LRAD_U_LRAN) S E=10 D NAME S:E @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,2",2)=">>WARNING<< - Load/work list ("_LRLL_";"_LRTRAY_";"_LRCUP_") doesn't point back to here. ("_$P(L,U,1,3)_")"
- S WKLD=0 F S WKLD=$O(^LRO(68,LRAA,1,LRAD,1,LRAN,4,TESTS,1,WKLD)) Q:WKLD<1 I $D(^(WKLD,0))#2 S X=^(0) D
- . I $D(^LAM(+X,0))[0 S E=12 D NAME D
- . . S:E @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,WKLD,"68.14,.01")=">>CRITICAL<< - Invalid WKLD CODE pointer to WKLD CODE file (#64) found at WKLD CODE multiple within the TEST multiple of the ACCESSION subfile. Entry: "_LRAN
- Q
- ;
- SPECV ; validation of data elements at SPECIMEN multiple of ACCESSION NUMBER subfile
- I $D(^LAB(61,+LA5,0))[0 S E=7 D NAME S:E @LRTMPGL@(LRAA,LRAD,LRAN,5,SPEC,"68.05,.01")=">>FATAL<< - Invalid SPECIMEN pointer to the TOPOGRAPHY FIELD file (#61) found at SPECIMEN multiple of ACCESSION subfile. Entry: "_LRAN
- I $D(^LAB(62,$P(LA5,U,2),0))[0 S E=8 D NAME S:E @LRTMPGL@(LRAA,LRAD,LRAN,5,SPEC,"68.05,1")=">>FATAL<< - Invalid COLLECTION SAMPLE pointer to COLLECTION SAMPLE file (#62) found at SPECIMEN multiple of ACCESSION subfile. Entry: "_LRAN
- S TEST=0 F S TEST=$O(^LRO(68,LRAA,1,LRAD,1,LRAN,5,SPEC,1,TEST)) Q:TEST<1 I $D(^(TEST,0))#2 S X=^(0) D
- . I $D(^LAB(60,+X,0))[0 S E=11 D NAME S:E @LRTMPGL@(LRAA,LRAD,LRAN,5,SPEC,TEST,"68.13,.01")=">>FATAL<< - Invalid TEST pointer to LABORATORY TEST file (#60) found at TEST multiple within the SPECIMEN multiple of ACCESSION subfile. Entry: "_LRAN
- Q
- ;
- INST ;
- I $D(^LAB(62.4,+LRSTR,0))[0 S @LRTMPGL@(LRAA,LRAD,LRACC,"68.09,.01")=">>FATAL<< - Invalid Instrumentation Controls pointer to the AUTO INSTRUMENT file (#62.4)."
- F LRCT=0:0 S LRCT=$O(^LRO(68,LRAA,.5,LRIN,1,LRCT)) Q:LRCT<1 I $D(^(LRCT,0))#2 S LRSTR=^(0) I $D(^LAB(62.3,+LRSTR,0))[0 S @LRTMPGL@(LRAA,LRAD,LRACC,68.1,"I"_LRCT)=">>FATAL<< - Invalid control name pointer to the CONTROL NAME file (#62.3)."
- Q
- ;
- LABEL ; process numeric identifer and label fields
- S LRNID=$P(LRALE,U),LRALR=$P(LRALE,U,5),LRALE=$P(LRALE,U,4)
- S X="",DA=LRAA D CHK^DIE(68,.4,"E",LRNID,.X) I X="^" D
- . S @LRTMPGL@(LRAA,"68,.4")=">>CRITICAL<< - Invalid Numeric Identifer for record entry "_LRAA_": "
- . S @LRTMPGL@(LRAA,"68,.4",1)="Identifier has already been used in Accession Area: "_$P(LR0,U)
- I $L(LRALE),'$L(LRALR) S @LRTMPGL@(LRAA,LRAD,LRACC,"68,5.3")=">>FATAL<< - Alternate Label Entry field contains a value but the Alternate Label Routine field is missing the necessary routine name in order for the software to work." Q
- I $L(LRALR) S X=LRALR X ^%ZOSF("TEST") I '$T S @LRTMPGL@(LRAA,LRAD,LRACC,"68,5.3")=">>FATAL<< - INVALID routine name contained in the Alternate Label Routine field." Q
- I $L(LRALR),$L(LRALE) S LRALR=LRALE_U_LRALR I $T(@LRALR)']"" S @LRTMPGL@(LRAA,LRAD,LRACC,"68,5.3")=">>FATAL<< - INVALID label entry name contained in the Alternate Label Entry field."
- Q
- ;
- NAME ;
- S E(8,E)=1+E(8,E) I E(8,E)>20 S E=0 Q
- I LRPWDT'=LRAD!(LRAA'=LRPWL) S @LRTMPGL@(LRAA,LRAD)="ACCESSION AREA: "_$P(^LRO(68,LRAA,0),U)_" for date: "_$$FMTE^XLFDT(LRAD,"") S LRPWL=LRAA,LRPWDT=LRAD
- I LRPACC'=LRACC S @LRTMPGL@(LRAA,LRAD,LRACC)="ACCESSION: "_LRACC S LRPACC=LRACC
- Q
- LRCKF68A ;DALOI/RWF/RLM-CHECK FILE 68 (CONT);8/27/87 10:32
- +1 ;;5.2T9;LR;**1018**;Nov 17, 2004
- +2 ;;5.2;LAB SERVICE;**272**;Sep 27, 1994
- +3 ; Reference to CHK^DIE supported by IA #2053
- +4 ; Reference to $$FMTE^XLFDT supported by IA #10103
- +5 ; Reference to ^%ZOSF("TEST") supported by IA #10096
- +6 ;
- +7 ;Continuation of LRCKF68
- QUIT
- TESTV ; validation of data elements at TESTS multiple of ACCESSION NUMBER subfile
- +1 IF $DATA(^LAB(60,+LA4,0))[0
- SET E=5
- DO NAME
- IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,.01")=">>FATAL<< - Invalid TEST pointer to LABORATORY TEST file (#60) found at TESTS multiple of the ACCESSION subfile. Entry: "_LRAN
- +2 IF $DATA(^LAB(62.05,+$PIECE(LRSTR,U,2),0))[0
- SET E=6
- DO NAME
- IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,1")=">>FATAL<< - Invalid URGENCY OF TEST pointer to URGENCY file (#62.05) found at TESTS multiple of the ACCESSION subfile. Entry: "_LRAN
- +3 SET Y=$PIECE(LA4,U,3)
- IF '+Y
- QUIT
- SET LRLL=+Y
- SET LRTRAY=$PIECE(Y,";",2)
- SET LRCUP=$PIECE(Y,";",3)
- SET L=$SELECT($DATA(^LRO(68.2,LRLL,1,LRTRAY,1,LRCUP,0)):^(0),1:"")
- +4 IF LRWARN
- IF L=""
- SET E=9
- DO NAME
- IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,2",1)=">>WARNING<< - Accession points to a load/work list entry that is missing"
- +5 IF LRWARN
- IF $PIECE(L,U,1,3)'=(LRAA_U_LRAD_U_LRAN)
- SET E=10
- DO NAME
- IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,"68.04,2",2)=">>WARNING<< - Load/work list ("_LRLL_";"_LRTRAY_";"_LRCUP_") doesn't point back to here. ("_$PIECE(L,U,1,3)_")"
- +6 SET WKLD=0
- FOR
- SET WKLD=$ORDER(^LRO(68,LRAA,1,LRAD,1,LRAN,4,TESTS,1,WKLD))
- IF WKLD<1
- QUIT
- IF $DATA(^(WKLD,0))#2
- SET X=^(0)
- Begin DoDot:1
- +7 IF $DATA(^LAM(+X,0))[0
- SET E=12
- DO NAME
- Begin DoDot:2
- +8 IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,4,TESTS,WKLD,"68.14,.01")=">>CRITICAL<< - Invalid WKLD CODE pointer to WKLD CODE file (#64) found at WKLD CODE multiple within the TEST multiple of the ACCESSION subfile. Entry: "_LRAN
- End DoDot:2
- End DoDot:1
- +9 QUIT
- +10 ;
- SPECV ; validation of data elements at SPECIMEN multiple of ACCESSION NUMBER subfile
- +1 IF $DATA(^LAB(61,+LA5,0))[0
- SET E=7
- DO NAME
- IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,5,SPEC,"68.05,.01")=">>FATAL<< - Invalid SPECIMEN pointer to the TOPOGRAPHY FIELD file (#61) found at SPECIMEN multiple of ACCESSION subfile. Entry: "_LRAN
- +2 IF $DATA(^LAB(62,$PIECE(LA5,U,2),0))[0
- SET E=8
- DO NAME
- IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,5,SPEC,"68.05,1")=">>FATAL<< - Invalid COLLECTION SAMPLE pointer to COLLECTION SAMPLE file (#62) found at SPECIMEN multiple of ACCESSION subfile. Entry: "_LRAN
- +3 SET TEST=0
- FOR
- SET TEST=$ORDER(^LRO(68,LRAA,1,LRAD,1,LRAN,5,SPEC,1,TEST))
- IF TEST<1
- QUIT
- IF $DATA(^(TEST,0))#2
- SET X=^(0)
- Begin DoDot:1
- +4 IF $DATA(^LAB(60,+X,0))[0
- SET E=11
- DO NAME
- IF E
- SET @LRTMPGL@(LRAA,LRAD,LRAN,5,SPEC,TEST,"68.13,.01")=">>FATAL<< - Invalid TEST pointer to LABORATORY TEST file (#60) found at TEST multiple within the SPECIMEN multiple of ACCESSION subfile. Entry: "_LRAN
- End DoDot:1
- +5 QUIT
- +6 ;
- INST ;
- +1 IF $DATA(^LAB(62.4,+LRSTR,0))[0
- SET @LRTMPGL@(LRAA,LRAD,LRACC,"68.09,.01")=">>FATAL<< - Invalid Instrumentation Controls pointer to the AUTO INSTRUMENT file (#62.4)."
- +2 FOR LRCT=0:0
- SET LRCT=$ORDER(^LRO(68,LRAA,.5,LRIN,1,LRCT))
- IF LRCT<1
- QUIT
- IF $DATA(^(LRCT,0))#2
- SET LRSTR=^(0)
- IF $DATA(^LAB(62.3,+LRSTR,0))[0
- SET @LRTMPGL@(LRAA,LRAD,LRACC,68.1,"I"_LRCT)=">>FATAL<< - Invalid control name pointer to the CONTROL NAME file (#62.3)."
- +3 QUIT
- +4 ;
- LABEL ; process numeric identifer and label fields
- +1 SET LRNID=$PIECE(LRALE,U)
- SET LRALR=$PIECE(LRALE,U,5)
- SET LRALE=$PIECE(LRALE,U,4)
- +2 SET X=""
- SET DA=LRAA
- DO CHK^DIE(68,.4,"E",LRNID,.X)
- IF X="^"
- Begin DoDot:1
- +3 SET @LRTMPGL@(LRAA,"68,.4")=">>CRITICAL<< - Invalid Numeric Identifer for record entry "_LRAA_": "
- +4 SET @LRTMPGL@(LRAA,"68,.4",1)="Identifier has already been used in Accession Area: "_$PIECE(LR0,U)
- End DoDot:1
- +5 IF $LENGTH(LRALE)
- IF '$LENGTH(LRALR)
- SET @LRTMPGL@(LRAA,LRAD,LRACC,"68,5.3")=">>FATAL<< - Alternate Label Entry field contains a value but the Alternate Label Routine field is missing the necessary routine name in order for the software to work."
- QUIT
- +6 IF $LENGTH(LRALR)
- SET X=LRALR
- XECUTE ^%ZOSF("TEST")
- IF '$TEST
- SET @LRTMPGL@(LRAA,LRAD,LRACC,"68,5.3")=">>FATAL<< - INVALID routine name contained in the Alternate Label Routine field."
- QUIT
- +7 IF $LENGTH(LRALR)
- IF $LENGTH(LRALE)
- SET LRALR=LRALE_U_LRALR
- IF $TEXT(@LRALR)']""
- SET @LRTMPGL@(LRAA,LRAD,LRACC,"68,5.3")=">>FATAL<< - INVALID label entry name contained in the Alternate Label Entry field."
- +8 QUIT
- +9 ;
- NAME ;
- +1 SET E(8,E)=1+E(8,E)
- IF E(8,E)>20
- SET E=0
- QUIT
- +2 IF LRPWDT'=LRAD!(LRAA'=LRPWL)
- SET @LRTMPGL@(LRAA,LRAD)="ACCESSION AREA: "_$PIECE(^LRO(68,LRAA,0),U)_" for date: "_$$FMTE^XLFDT(LRAD,"")
- SET LRPWL=LRAA
- SET LRPWDT=LRAD
- +3 IF LRPACC'=LRACC
- SET @LRTMPGL@(LRAA,LRAD,LRACC)="ACCESSION: "_LRACC
- SET LRPACC=LRACC
- +4 QUIT