1 | SCMSVEVN ;ALB/ESD HL7 EVN Segment Validation ;05/08/95
|
---|
2 | ;;5.3;Scheduling;**44,66**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | ;
|
---|
5 | EN(EVNSEG,HLQ,HLFS,VALERR) ;
|
---|
6 | ; Entry point to return the HL7 EVN (Event Type) validation segment
|
---|
7 | ;
|
---|
8 | ; Input: EVNSEG - EVN Segment
|
---|
9 | ; HLQ - HL7 null variable
|
---|
10 | ; HLFS - HL7 field separator
|
---|
11 | ; VALERR - The array to place the errors in.
|
---|
12 | ;
|
---|
13 | ; Output: 1 if EVN passed validity check
|
---|
14 | ; Error message if EVN failed validity check in form of:
|
---|
15 | ; -1^"xxx failed validity check" (xxx=element in EVN segment)
|
---|
16 | ;
|
---|
17 | ; The array contained in VALERR will have the errors if any
|
---|
18 | ; are found. They will be subscripted by "EVN",# from this
|
---|
19 | ; validation subroutine.
|
---|
20 | ; Ex. ^TMP("TEST",$J,"EVN",1)=ERROR CODE
|
---|
21 | ; ^TMP("TEST",$J,"EVN",2)=ERROR CODE
|
---|
22 | ;
|
---|
23 | ;
|
---|
24 | N I,MSG,VALID,X,CNT,SEG
|
---|
25 | S CNT=1,MSG="-1^Element in EVN segment failed validity check"
|
---|
26 | S SEG="EVN"
|
---|
27 | ;
|
---|
28 | S EVNSEG=$G(EVNSEG)
|
---|
29 | D VALIDATE^SCMSVUT0(SEG,EVNSEG,"0005",VALERR,.CNT)
|
---|
30 | I $D(@VALERR@(SEG)) G ENQ
|
---|
31 | ;
|
---|
32 | S EVNSEG=$$CONVERT^SCMSVUT0(EVNSEG,HLFS,HLQ)
|
---|
33 | ;
|
---|
34 | F I=1:1:3 D VALIDATE^SCMSVUT0(SEG,$S(I'=3:$P(EVNSEG,HLFS,I),1:$$FMDATE^HLFNC($P(EVNSEG,HLFS,I))),$P($T(@I),";",3),VALERR,.CNT)
|
---|
35 | ;
|
---|
36 | ENQ Q $S($D(@VALERR@("EVN",1)):MSG,1:1)
|
---|
37 | ;
|
---|
38 | ;
|
---|
39 | 1 ;;0035;HL7 SEGMENT NAME
|
---|
40 | 2 ;;1000;HL7 EVENT TYPE
|
---|
41 | 3 ;;1050;HL7 EVENT DATE/TIME
|
---|