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