VistA-FOIAVistA/r/REGISTRATION-DGQE-DG-DPT-GR.../VAFHLPV2.m

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