1 | VAFHLEVN ;ALB/CM/ESD HL7 EVN SEGMENT BUILDING ;05/01/95
|
---|
2 | ;;5.3;Registration;**94,220,190**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | ;This routine will build an HL7 EVN segment
|
---|
5 | ;
|
---|
6 | EVN(TYPE,FLAG,VAEVDT) ;
|
---|
7 | ;
|
---|
8 | ;Input:
|
---|
9 | ;TYPE - the HL7 Event Type
|
---|
10 | ;FLAG - HL7 Event Reason Code
|
---|
11 | ; The codes will be 04 for update to "old" event
|
---|
12 | ; or 05 for "new"/"current" event
|
---|
13 | ;VAEVDT - Event Date/Time [Optional]
|
---|
14 | ;
|
---|
15 | N ET,EVN
|
---|
16 | D NOW^%DTC S ET=$$HLDATE^HLFNC(%,"TS") K %,X,%H,%I
|
---|
17 | S EVN="EVN"_HLFS_TYPE_HLFS_ET_HLFS_HLFS_FLAG
|
---|
18 | S VAEVDT=$G(VAEVDT) I +VAEVDT'>0 S VAEVDT=$G(VAFHDT)
|
---|
19 | I +VAEVDT>0 S EVN=EVN_HLFS_HLFS_$$HLDATE^HLFNC(VAEVDT,"TS")
|
---|
20 | Q EVN
|
---|
21 | ;
|
---|
22 | ;
|
---|
23 | EN(VAFEVTYP,VAFEVDT,VAFSTR,VAFHLQ,VAFHLFS) ;
|
---|
24 | ; Entry point for Ambulatory Care Database Project
|
---|
25 | ;
|
---|
26 | ; Entry point to return the HL7 EVN (Event Type) segment
|
---|
27 | ;
|
---|
28 | ; Input: VAFEVTYP - Event Type Code
|
---|
29 | ; VAFEVDT - Event Date/Time
|
---|
30 | ; Date/Time Event Occurred (same as Encounter Date/Time)
|
---|
31 | ;
|
---|
32 | ; VAFSTR - String of fields requested separated by commas.
|
---|
33 | ;
|
---|
34 | ; VAFHLQ - Optional HL7 null variable. If not there, use
|
---|
35 | ; default HL7 variable.
|
---|
36 | ;
|
---|
37 | ; VAFHLFS - Optional HL7 field separator. If not there, use
|
---|
38 | ; default HL7 variable.
|
---|
39 | ;
|
---|
40 | ; Output: String containing desired components of the EVN segment.
|
---|
41 | ;
|
---|
42 | ;
|
---|
43 | N VAFY,X
|
---|
44 | ;I ($G(VAFEVTYP)="")!($G(VAFSTR)="") G ENQ
|
---|
45 | S:$G(VAFSTR)="" VAFSTR="1,2"
|
---|
46 | S VAFHLQ=$S($D(VAFHLQ):VAFHLQ,1:$G(HLQ)),VAFHLFS=$S($D(VAFHLFS):VAFHLFS,1:$G(HLFS)) ; If VAFHLQ or VAFHLFS aren't passed in, use default HL7 variables
|
---|
47 | S $P(VAFY,VAFHLFS,2)="",VAFSTR=","_VAFSTR_","
|
---|
48 | I VAFSTR[",1," S $P(VAFY,VAFHLFS,1)=$G(VAFEVTYP) ; Event Type Code
|
---|
49 | I VAFSTR[",2," S X=$$HLDATE^HLFNC($G(VAFEVDT)),$P(VAFY,VAFHLFS,2)=$S(X]"":X,1:VAFHLQ) ; Event Date/Time
|
---|
50 | ;
|
---|
51 | ENQ ; Return segment
|
---|
52 | Q "EVN"_VAFHLFS_$G(VAFY)
|
---|