Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VAFHQRY

VAFHQRY.m

Go to the documentation of this file.
  1. VAFHQRY ;ALB/RJS - MCCR DATA CAPTURE HANDLES QUERY MESSAGES ; 6/7/95
  1. ;;5.3;Registration;**91,415**;Jun 06, 1996
  1. ;;HL7v1.6
  1. ;
  1. ; THIS ROUTINE HANDLES THE QUERY MESSAGES FOR THE HL7 ADT
  1. ; PROJECT
  1. ;
  1. ; INPUT IS THE IEN OF THE MESSAGE IN THE ^HL(772 GLOBAL, "HLDA"
  1. ;
  1. ; THE ROUTINE PARSES THE MESSAGE AND DETERMINES IF THERE IS A QUERY
  1. ; SEGMENT PRESENT. IF SO, THE QUERY IS REQUESTING PATIENT DEMOGRAPHIC
  1. ; DATA IN A PID SEGMENT
  1. ;
  1. N ERR1,ERR2,ERR3,COMPNENT,SSN,DFN,VAQD
  1. S ERR1="Invalid or missing access code"
  1. S ERR2="Missing QRD Segment"
  1. S ERR3="Could not resolve DFN"
  1. ;I $G(HLDUZ)'>0 S HLERR=ERR1 G ACK ;Invalid or missing access code
  1. S HLQ=HL("Q"),HLFS=HL("FS"),HLECH=HL("ECH")
  1. ;
  1. S COMPNENT=$E(HL("ECH")) ;hlech
  1. K VADC,HLERR
  1. ;D INITIZE^VAFHUTL9(HLDA) ;QUERY MESSAGE RETURNED IN VADC() ARRAY
  1. D INIT1
  1. S VAQD=$$SEG1^VAFHUTL9("QRD",1,"QRD")
  1. I VAQD="" S HLERR=ERR2 G ACK ;Missing QRD segment
  1. ;
  1. PARSE ;
  1. S SSN=$P(VAQD,HLFS,9)
  1. S DFN=$$SSNDFN^VAFHUTL9(SSN)
  1. I DFN'>0 S HLERR=ERR3 G ACK
  1. ;
  1. S HLA("HLS",1)="MSA"_HL("FS")_$S(HL:$S(HL("VER")=2.1:"AR",1:"CR"),1:"CA")_HL("FS")_HL("MID")_HL("FS")_$P(HL,"^",2)
  1. S HLA("HLS",2)=VAQD
  1. ;
  1. S HLA("HLS",3)=$$EN^VAFHLPID(DFN,",2,3,4,5,6,7,8,9,10B,11,12,13,14,15,16,17,18,19,22B")
  1. ;
  1. ACK I $D(HLERR) S HLA("HLS",2)="MSA"_HLFS_"AE"_HLFS_HLMID_HLFS_HLERR G EXIT
  1. ;
  1. EXIT S HLDT=$$NOW^XLFDT()
  1. D GENERATE^HLMA("VAFH A19","LM",1,.HLRESLT,"",.HL)
  1. Q
  1. ;
  1. INIT1 F I=1:1 X HLNEXT Q:HLQUIT'>0 S X(I)=HLNODE MERGE X(I)=HLNODE
  1. MERGE VADC=X
  1. Q