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

VAFHLFNC.m

Go to the documentation of this file.
  1. VAFHLFNC ;ALB/MLI,JAM - Generic functions for MAS HL7 Interface ;27 Feb 93
  1. ;;5.3;Registration;**33,122,997**;Aug 13, 1993;Build 42
  1. ;
  1. ; This routine contains generic MAS functions used to interface with
  1. ; the DHCP HL7 package
  1. ;
  1. ;
  1. ADDR(VAFADDR,VAFCOUNT) ; returns address in HL7 format
  1. ;
  1. ; NOTE: THIS MAY BE REPLACED WITH AN HL7 CALL IN THE FUTURE
  1. ;
  1. ; Input - VAFADDR as address in format:
  1. ; line1^line2^line3^city^state^zip^country ien^province^postal code
  1. ; DG*5.3*997;JAM; Country, Province, Postal code fields added for ZCT and ZGD segments
  1. ; VAFCOUNT as internal value of county (optional)
  1. ;
  1. ; ****Also assumes all HL7 variables returned from****
  1. ; INIT^HLTRANS are defined
  1. ;
  1. ; Output - HL7 formated Address_HLFS_County Code (if requested)
  1. ;
  1. N X,Y
  1. S X=$E(HLECH) ; first component separator
  1. S $P(Y,X,1)=$P(VAFADDR,"^",1) ; line 1
  1. S $P(Y,X,2)=$P(VAFADDR,"^",2)_$S($P(VAFADDR,"^",3)]"":" "_$P(VAFADDR,"^",3),1:"") ; lines 2 & 3
  1. S $P(Y,X,3)=$P(VAFADDR,"^",4) ; city
  1. ; DG*5.3*997;JAM; If country code passed in, return .01 field in 6th piece and get flag for Foreign address
  1. ; ICR 5768 Supported ICR for File 779.004
  1. N DGCNTRY,DGFOR
  1. S DGCNTRY=$P(VAFADDR,"^",7)
  1. I DGCNTRY]"" D
  1. . S $P(Y,X,6)=$$GET1^DIQ(779.004,DGCNTRY_",",.01) ; country
  1. . S DGFOR=$S($$FORIEN^DGADDUTL(DGCNTRY)<1:0,1:1) ;set foreign country flag =1, else, set as domestic
  1. ; DG*5.3*997; jam; If Foreign address, pass back postal code in place of zip and province in place of state
  1. I $G(DGFOR)=1 D
  1. .S $P(Y,X,5)=$P(VAFADDR,"^",9) ; postal code
  1. .S $P(Y,X,4)=$P(VAFADDR,"^",8) ; province
  1. E D ; DG*5.3*997;jam; else pass back zip and state
  1. .S $P(Y,X,5)=$P(VAFADDR,"^",6) ; zip
  1. .S $P(Y,X,4)=$P($G(^DIC(5,+$P(VAFADDR,"^",5),0)),"^",2) ; state abbr
  1. I $G(VAFCOUNT) D ; county
  1. .S $P(Y,HLFS,2)=$P($G(^DIC(5,+$P(VAFADDR,"^",5),1,+$G(VAFCOUNT),0)),"^",3)
  1. .I $P(Y,HLFS,2)']"" S $P(Y,HLFS,2)=HLQ
  1. I $P(Y,HLFS,1)=(X_X_X_X) S $P(Y,HLFS,1)=HLQ ; if no data...only component separator
  1. Q Y
  1. ;
  1. ;
  1. INS(DFN,VAFDT) ; call to see if pt has active insurance
  1. ;
  1. ; Input - DFN as internal entry number of PATIENT file
  1. ; VAFDT [optional] as date to compute ins coverage for
  1. ;
  1. ; Output - 1 if yes, 0 if no
  1. ;
  1. INSQ Q $$INSURED^IBCNS1(DFN,$G(VAFDT))
  1. ;
  1. ;
  1. YN(X) ; extrinsic function to convert YES/NO responses to 1/0
  1. ; (format of MAS-HL7 table VA01)
  1. ;
  1. ; Input - X as value of DHCP yes/no field
  1. ;
  1. ; Output - 1 if yes, 0 if no, or "" otherwise
  1. ;
  1. S X=$TR($E(X),"Yy1Nn0","111000")
  1. Q $S(X=1:X,X=0:0,1:HLQ)
  1. ;
  1. STATION(INSTPTR) ;
  1. ;Description: Returns the facility number, including the suffix.
  1. ;
  1. ;Input:
  1. ; INSTPTR - ien, record in the INSTITUTION file
  1. ;Output:
  1. ; Function value - If unsuccessful, returns NULL, otherwise the facility number, including suffix
  1. ;
  1. Q:'$G(INSTPTR) ""
  1. Q $P($G(^DIC(4,INSTPTR,99)),"^",1)