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

BDGHL7I.m

Go to the documentation of this file.
  1. BDGHL7I ; IHS/ANMC/LJF - INBOUND HL7 DATA TO PIMS ;
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ;
  1. ; Called by BHLPV1I to process PV1 segments
  1. ; Variables set in BHL routines:
  1. ; CS = component separator
  1. ; BHLET = Event type (A01, A03, etc.)
  1. ; BHLTMP = array of message items (BHL("PV1"))
  1. ;
  1. PARSE ; -- parse through array BHLTMP and build PIMS array
  1. NEW ARRAY,ITEM
  1. S ITEM=$G(@BHLTMP@(1,3)) ;location info (fac, cln/ward, room)
  1. S LOC=$P(ITEM,CS),HLOC=$P(ITEM,CS,2)
  1. ; DO LOOKUP ON LOCATION AND GET ASUFAC CODE
  1. S ARRAY("LOC")=$$GET1^DIQ(9999999.06,+ITEM,.0799) ;asufac code
  1. ; DO LOOKUP ON HOSP LOCATION AND DETERMINE IF WARD OR CLINIC
  1. I $$GET1^DIQ(44,+$P(ITEM,CS,2),2)="WARD" D
  1. . S ARRAY("WARD")=$P(ITEM,CS,2)
  1. ;
  1. ; location determines if call is to ADT or Scheduling
  1. I $D(ARRAY("WARD")) D ADT Q
  1. D APPT
  1. Q
  1. ;
  1. ADT ; -- continue parsing ADT items
  1. NEW ITEM,X
  1. S ITEM=$G(@BHLTMP@(1,4)) ;admission type
  1. ;NEED TO KNOW IF THIS WILL BE IHS OR UB92 ADMIT TYPE
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,7)) ;attending doctor
  1. ;WILL PROVIDER ID BE USED? NAMES ARE NOT UNIQUE
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,8)) ;referring doctor
  1. ;WILL WE STILL USE FREE TEXT? ONLY IF NOT REQUIRED ON MS4 SIDE
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,10)) ;hospital service
  1. ;IHS SPECS SAY SERVICE CATEGORY?????
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,14)) ;admit source
  1. ;WAITING FOR VALID VALUES FROM MS4 PROGRAMMER
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,17)) ;admitting doctor
  1. ;SAME QUESTIONS ABOUT ID AS ATTENDING
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,36)) ;discharge disposition
  1. ;WAITING FOR VALID VALUES FROM MS4
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,37)) ;discharged to location
  1. S ARRAY("TFAC")=ITEM
  1. ;NEED MS4 TO SUPPORT FIELD AND LOCAL TABLE
  1. ;ALSO NEED FOR ADMITS
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,44)) ;admit date/time
  1. S ARRAY("DATE")=ITEM
  1. ;WOULD BOTH ADMIT AND DISCHARGE DATE BE SENT AT SAME TIME?
  1. ;WOULD MORE THAN ONE MOVEMENT BE SENT IN ONE PV1 SEGMENT?
  1. ;
  1. S ITEM=$G(@BHLTMP@(1,45)) ;discharge date/time
  1. S ARRAY("DATE")=ITEM
  1. ;
  1. ;DETERMINE IF ADD, EDIT OR CANCEL
  1. ;THEN CALL ^BDGAPI AT ADD, EDIT OR CANCEL ENTRY POINT
  1. Q
  1. ;
  1. APPT ; -- continue parsing Scheduling items
  1. Q