31 lines
1.3 KiB
Mathematica
31 lines
1.3 KiB
Mathematica
VAFHLPV2 ;ALB/GRR - HL7 PV2 SEGMENT BUILDER ; 3/6/06 8:25am
|
|
;;5.3;Registration;**190,692**;Aug 13, 1993
|
|
;
|
|
;This routine will build an HL7 PV2 segment for an inpatient.
|
|
;
|
|
EN(DFN,VAFHMIEN,VAFSTR) ;Entry point of routine
|
|
;DFN - Patient Internal Entry Number
|
|
;VAFHMIEN - Patient Movement Internal Entry Number
|
|
;VAFSTR - Sequence numbers to include in message
|
|
;
|
|
N VAFHLREC,VAFHA,VAFHSUB S VAFHSUB="" ;Initialize variables
|
|
S $P(VAFHLREC,HL("FS"))="PV2" ;Set segment type to PV2
|
|
S VAFHMIEN=$$GETAMOV^DGRUUTL(DFN) I VAFHMIEN="" G QUITPV2 ;If movement ien not passed, get admission movement and quit if none
|
|
I VAFSTR[",3," D
|
|
.S VAFHA=$$GET1^DIQ(405,VAFHMIEN,".11","I") ;retrieve 'Admitted for SC Condition' field
|
|
.I VAFHA=1 D ;If admitted for SC condition do following
|
|
..S $P(VAFHSUB,$E(HL("ECH")),4)="SC"
|
|
..S $P(VAFHSUB,$E(HL("ECH")),5)="ADMITTED FOR SC CONDITION"
|
|
..S $P(VAFHSUB,$E(HL("ECH")),6)="VA0039"
|
|
.I VAFHA'=1 D ;If not admitted for SC condition do following
|
|
..S $P(VAFHSUB,$E(HL("ECH")),4)="NSC"
|
|
..S $P(VAFHSUB,$E(HL("ECH")),5)="NOT ADMITTED FOR SC CONDITION"
|
|
..S $P(VAFHSUB,$E(HL("ECH")),6)="VA0039"
|
|
.S $P(VAFHLREC,HL("FS"),4)=VAFHSUB
|
|
;If call center param is on add privacy indicator
|
|
I VAFSTR[",22," D
|
|
.S VAIP("D")=$G(VAFHDT) D IN5^VADPT
|
|
.S $P(VAFHLREC,HL("FS"),23)=$S(+VAIP(19,1)=1:"Y",+VAIP(19,1)=0:"N",1:"")
|
|
.D KVAR^VADPT
|
|
QUITPV2 Q VAFHLREC
|