[613] | 1 | VAFCMSG4 ;ALB/JRP-MESSAGE BUILDER UTILITIES ;26-MAR-2003
|
---|
| 2 | ;;5.3;Registration;**91,209,149,415,484,508**;Jun 06, 1996
|
---|
| 3 | ;
|
---|
| 4 | SEGMENTS(EVNTTYPE,SEGARRY) ;Build list of HL7 segments for given event type
|
---|
| 5 | ;
|
---|
| 6 | ;Input : EVNTTYPE - Event type to build list for (Defaults to A08)
|
---|
| 7 | ; Currently supported events:
|
---|
| 8 | ; A04, A08, A28
|
---|
| 9 | ; SEGARRY - Array to place output in (full global reference)
|
---|
| 10 | ; (Defaults to ^TMP("VAFC SEGMENTS",$J))
|
---|
| 11 | ;Output : None
|
---|
| 12 | ; SEGARRY(Seq,Name) = Fields
|
---|
| 13 | ; SEGARRY(Name,"BLD") = Executable code to build HL7 segment
|
---|
| 14 | ; SEGARRY(Name,"CPY") = Executable code to copy HL7 segment
|
---|
| 15 | ; into HL7 message
|
---|
| 16 | ; SEGARRY(Name,"DEL") = Executable code to delete variables
|
---|
| 17 | ; used to build HL7 segment
|
---|
| 18 | ; Seq - Sequencing number to order the segments as
|
---|
| 19 | ; they should be placed in the HL7 message
|
---|
| 20 | ; Name - Name of HL7 segment
|
---|
| 21 | ; Fields - List of fields used by segment
|
---|
| 22 | ; VAFSTR would be set to this value
|
---|
| 23 | ;Notes : MSH segment is not included
|
---|
| 24 | ; : SEGARRY will be KILLed on entry
|
---|
| 25 | ;
|
---|
| 26 | ;Check input
|
---|
| 27 | S EVNTTYPE=$G(EVNTTYPE)
|
---|
| 28 | S:(EVNTTYPE="") EVNTTYPE="A08"
|
---|
| 29 | S SEGARRY=$G(SEGARRY)
|
---|
| 30 | S:(SEGARRY="") SEGARRY="^TMP(""VAFC SEGMENTS"","_$J_")"
|
---|
| 31 | K @SEGARRY
|
---|
| 32 | ;Declare variables
|
---|
| 33 | N X,OK
|
---|
| 34 | ;Check for supported event
|
---|
| 35 | S OK=0
|
---|
| 36 | F X="A04","A08","A28" I X=EVNTTYPE S OK=1 Q
|
---|
| 37 | Q:('OK)
|
---|
| 38 | ;Segments used by A04, A08, A28
|
---|
| 39 | S @SEGARRY@(1,"EVN")="1,2,4"
|
---|
| 40 | S @SEGARRY@("EVN","BLD")="D BLDEVN^VAFCMSG3"
|
---|
| 41 | S @SEGARRY@("EVN","CPY")="D CPYEVN^VAFCMSG3"
|
---|
| 42 | S @SEGARRY@("EVN","DEL")="D DELEVN^VAFCMSG3"
|
---|
| 43 | S @SEGARRY@(2,"PID")=$$COMMANUM^VAFCADT2(1,9)_",10B,11PC,"_$$COMMANUM^VAFCADT2(13,21)_",22B,"_$$COMMANUM^VAFCADT2(23,30)
|
---|
| 44 | S @SEGARRY@("PID","BLD")="D BLDPID^VAFCMSG3"
|
---|
| 45 | S @SEGARRY@("PID","CPY")="D CPYPID^VAFCMSG3"
|
---|
| 46 | S @SEGARRY@("PID","DEL")="D DELPID^VAFCMSG3"
|
---|
| 47 | S @SEGARRY@(3,"PD1")=$$COMMANUM^VAFCADT2(1,12)
|
---|
| 48 | S @SEGARRY@("PD1","BLD")="D BLDPD1^VAFCMSG3"
|
---|
| 49 | S @SEGARRY@("PD1","CPY")="D CPYPD1^VAFCMSG3"
|
---|
| 50 | S @SEGARRY@("PD1","DEL")="D DELPD1^VAFCMSG3"
|
---|
| 51 | S @SEGARRY@(4,"PV1")="2,3,6,7,10,18,44,45,50"
|
---|
| 52 | S @SEGARRY@("PV1","BLD")="D BLDPV1^VAFCMSG3"
|
---|
| 53 | S @SEGARRY@("PV1","CPY")="D CPYPV1^VAFCMSG3"
|
---|
| 54 | S @SEGARRY@("PV1","DEL")="D DELPV1^VAFCMSG3"
|
---|
| 55 | S @SEGARRY@(5,"ROL")="1,2,3,4"
|
---|
| 56 | S @SEGARRY@("ROL","BLD")="D BLDROL^VAFCMSG3"
|
---|
| 57 | S @SEGARRY@("ROL","CPY")="D CPYROL^VAFCMSG3"
|
---|
| 58 | S @SEGARRY@("ROL","DEL")="D DELROL^VAFCMSG3"
|
---|
| 59 | S @SEGARRY@(6,"OBX")=""
|
---|
| 60 | S @SEGARRY@("OBX","BLD")="D BLDOBX^VAFCMSG3"
|
---|
| 61 | S @SEGARRY@("OBX","CPY")="D CPYOBX^VAFCMSG3"
|
---|
| 62 | S @SEGARRY@("OBX","DEL")="D DELOBX^VAFCMSG3"
|
---|
| 63 | S @SEGARRY@(7,"ZPD")=$$COMMANUM^VAFCADT2(1,21)
|
---|
| 64 | S @SEGARRY@("ZPD","BLD")="D BLDZPD^VAFCMSG3"
|
---|
| 65 | S @SEGARRY@("ZPD","CPY")="D CPYZPD^VAFCMSG3"
|
---|
| 66 | S @SEGARRY@("ZPD","DEL")="D DELZPD^VAFCMSG3"
|
---|
| 67 | S @SEGARRY@(8,"ZSP")="1,2,3,4,5"
|
---|
| 68 | 0 S @SEGARRY@("ZSP","BLD")="D BLDZSP^VAFCMSG3"
|
---|
| 69 | S @SEGARRY@("ZSP","CPY")="D CPYZSP^VAFCMSG3"
|
---|
| 70 | S @SEGARRY@("ZSP","DEL")="D DELZSP^VAFCMSG3"
|
---|
| 71 | S @SEGARRY@(9,"ZEL")=$$COMMANUM^VAFCADT2(1,22)
|
---|
| 72 | S @SEGARRY@("ZEL","BLD")="D BLDZEL^VAFCMSG3"
|
---|
| 73 | S @SEGARRY@("ZEL","CPY")="D CPYZEL^VAFCMSG3"
|
---|
| 74 | S @SEGARRY@("ZEL","DEL")="D DELZEL^VAFCMSG3"
|
---|
| 75 | S @SEGARRY@(10,"ZCT")="1,2,3,4,5,6,7,8,9"
|
---|
| 76 | S @SEGARRY@("ZCT","BLD")="D BLDZCT^VAFCMSG3"
|
---|
| 77 | S @SEGARRY@("ZCT","CPY")="D CPYZCT^VAFCMSG3"
|
---|
| 78 | S @SEGARRY@("ZCT","DEL")="D DELZCT^VAFCMSG3"
|
---|
| 79 | S @SEGARRY@(11,"ZEM")="1,2,3,4,5,6,7,8"
|
---|
| 80 | S @SEGARRY@("ZEM","BLD")="D BLDZEM^VAFCMSG3"
|
---|
| 81 | S @SEGARRY@("ZEM","CPY")="D CPYZEM^VAFCMSG3"
|
---|
| 82 | S @SEGARRY@("ZEM","DEL")="D DELZEM^VAFCMSG3"
|
---|
| 83 | S @SEGARRY@(12,"ZFF")=""
|
---|
| 84 | S @SEGARRY@("ZFF","BLD")="D BLDZFF^VAFCMSG3"
|
---|
| 85 | S @SEGARRY@("ZFF","CPY")="D CPYZFF^VAFCMSG3"
|
---|
| 86 | S @SEGARRY@("ZFF","DEL")="D DELZFF^VAFCMSG3"
|
---|
| 87 | S @SEGARRY@(13,"ZIR")=$$COMMANUM^VAFCADT2(1,13)
|
---|
| 88 | S @SEGARRY@("ZIR","BLD")="D BLDZIR^VAFCMSG3"
|
---|
| 89 | S @SEGARRY@("ZIR","CPY")="D CPYZIR^VAFCMSG3"
|
---|
| 90 | S @SEGARRY@("ZIR","DEL")="D DELZIR^VAFCMSG3"
|
---|
| 91 | S @SEGARRY@(14,"ZEN")=$$COMMANUM^VAFCADT2(1,10)
|
---|
| 92 | S @SEGARRY@("ZEN","BLD")="D BLDZEN^VAFCMSG3"
|
---|
| 93 | S @SEGARRY@("ZEN","CPY")="D CPYZEN^VAFCMSG3"
|
---|
| 94 | S @SEGARRY@("ZEN","DEL")="D DELZEN^VAFCMSG3"
|
---|
| 95 | Q
|
---|