source: WorldVistAEHR/trunk/r/SCHEDULING-SD-SC/SCMSVZCL.m@ 738

Last change on this file since 738 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 1.9 KB
Line 
1SCMSVZCL ;ALB/ESD HL7 ZCL Segment Validation ; 11/9/99 2:28pm
2 ;;5.3;Scheduling;**44,66,180,239**;Aug 13, 1993
3 ;
4 ;
5EN(ZCLARRY,HLQ,HLFS,VALERR,DFN) ;
6 ; Entry point to return the HL7 ZCL (Outpatient Classification) validation segment
7 ;
8 ; Input: ZCLARRY - Array of ZCL Segments
9 ; HLQ - HL7 null variable
10 ; HLFS - HL7 field separator
11 ; VALERR - Array to put the errors in
12 ; DFN - The patient's DFN
13 ;
14 ;
15 ; Output: 1 if ZCL passed validity check
16 ; Error message if ZCL failed validity check in form of:
17 ; -1^"xxx failed validity check" (xxx=element in ZCL segment)
18 ;
19 ;
20 N I,J,MSG,VALID,X,Z,ZCLSEG,SEG,CNT,DATA,SCSETID,VAR,SCCLASS,VALUE,TYPE
21 S VALID=1,MSG="-1^Element in ZCL segment failed validity check"
22 S I=0,J="",ZCLARRY=$G(ZCLARRY),SEG="ZCL",(SCSETID,CNT)=1
23 S:(ZCLARRY="") ZCLARRY="^TMP(""VAFHL"",$J,""CLASS"")"
24 ;
25 ;- Validate classification fields
26 F S I=+$O(@ZCLARRY@(I)) Q:'I F S J=$O(@ZCLARRY@(I,J)) Q:J="" D
27 . S VALID=1
28 . S ZCLSEG=$G(@ZCLARRY@(I,J))
29 . S ZCLSEG=$$CONVERT^SCMSVUT0(ZCLSEG,HLFS,HLQ)
30 . D VALIDATE^SCMSVUT0(SEG,ZCLSEG,"0012",VALERR,.CNT)
31 . I $G(@VALERR@(SEG,CNT-1))="0012" Q
32 . S TYPE=$P(ZCLSEG,HLFS,3)
33 . F Z=1,2,3,32,4,41 DO
34 .. S DATA=$P(ZCLSEG,HLFS,$E(Z,1,1))
35 .. ;
36 .. ;MST check for type 5 encounter 1
37 .. I (Z=32),DATA'=5 Q
38 .. I (Z=32),DATA=5 S VALUE=$P(ZCLSEG,HLFS,4) Q:VALUE'=1
39 .. ;
40 .. D VALIDATE^SCMSVUT0(SEG,DATA,$P($T(@(Z)),";",3),VALERR,.CNT)
41 .. K VALUE
42 .. Q
43 . Q
44 ;
45 I '$D(VALID) D VALIDATE^SCMSVUT0(SEG,"","0012",VALERR,.CNT)
46 ;
47ENQ Q $S($D(@VALERR@(SEG)):MSG,1:1)
48 ;
49 ;
50 ;- ZCL data elements validated
51 ;
521 ;;0035;HL7 SEGMENT NAME
532 ;;9150;HL7 SEQUENTIAL NUMBER (SET ID)
543 ;;9000;CLASSIFICATION TYPE
5532 ;;9030;MST status inconsistent with classification type
564 ;;9050;Answer to classification questions missing
5741 ;;9020;Veteran status inconsistent with classification type
Note: See TracBrowser for help on using the repository browser.