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

BHLIN1I.m

Go to the documentation of this file.
  1. BHLIN1I ; cmi/flag/maw - BHL File Inbound IN1 Segment ;
  1. ;;3.01;BHL IHS Interfaces with GIS;**1**;JUN 01, 2002
  1. ;
  1. ;this routine will file the inbound IN1 segment
  1. ;
  1. MAIN ;-- this is the main routine driver
  1. D FILE,EOJ
  1. Q
  1. ;
  1. FILE ;-- get the data and file it
  1. S BHLDA=0 F S BHLDA=$O(@BHLTMP@(BHLDA)) Q:BHLDA="" D
  1. . S BHLICM=$G(@BHLTMP@(BHLDA,2))
  1. . S BHLICN=$G(@BHLTMP@(BHLDA,4))
  1. . ;S BHLICNI=$O(^AUTNINS("MI",BHLICM,0)) only if site has insurer map
  1. . S BHLGN=$G(@BHLTMP@(BHLDA,8))
  1. . S BHLGNM=$G(@BHLTMP@(BHLDA,9))
  1. . S BHLPED=$G(@BHLTMP@(BHLDA,12))
  1. . S BHLPEDE=$$FMTE^XLFDT(BHLPED)
  1. . S BHLPEXD=$G(@BHLTMP@(BHLDA,13))
  1. . S BHLPEXDE=$$FMTE^XLFDT(BHLPEXD)
  1. . S BHLNOI=$G(@BHLTMP@(BHLDA,16))
  1. . S BHLIDOB=$G(@BHLTMP@(BHLDA,18))
  1. . S BHLSTR=$P($G(@BHLTMP@(BHLDA,19)),CS)
  1. . S BHLCTY=$P($G(@BHLTMP@(BHLDA,19)),CS,3)
  1. . S BHLST=$P($G(@BHLTMP@(BHLDA,19)),CS,4)
  1. . S BHLZP=$P($G(@BHLTMP@(BHLDA,19)),CS,5)
  1. . S BHLISX=$G(@BHLTMP@(BHLDA,43))
  1. . S BHLCT=$G(@BHLTMP@(BHLDA,47))
  1. . ;S BHLIID=$G(@BHLTMP@(BHLDA,36))
  1. . S BHLIID=$G(@BHLTMP@(BHLDA,49))
  1. . S BHLIT="PI"
  1. . I BHLICN="MEDICAID" S BHLIT="MCD"
  1. . I BHLICN="MEDICARE" S BHLIT="MCR"
  1. . D @BHLIT
  1. . D FILE^BHLIN2I
  1. . D FK^BHLU
  1. Q
  1. ;
  1. MCD ;-- file medicaid data
  1. S (BHLMCDE,BHLMCME)=""
  1. I BHLIID="" S BHLERCD="NOMCDN" X BHLERR Q
  1. I BHLPED="" S BHLERCD="NOMCDED" X BHLERR Q
  1. S BHLMCD=0 F S BHLMCD=$O(^AUPNMCD("B",BHLPAT,BHLMCD)) Q:BHLMCD="" D
  1. . I $P(^AUPNMCD(BHLMCD,0),U,3)=BHLIID S BHLMCDE=BHLMCD Q
  1. I BHLMCDE="" D Q
  1. . S DIC="^AUPNMCD(",DIC(0)="L",DLAYGO=9000004,X=BHLPAT
  1. . S DIC("DR")=".02///"_BHLICN_";.03///"_BHLIID_";.04///"_BHLGN
  1. . S DIC("DR")=DIC("DR")_";.05///"_BHLNOI
  1. . K DD,DO
  1. . D FILE^DICN
  1. . I Y<0 S BHLERCD="NOMCD" X BHLERR Q
  1. . S BHLMCDE=+Y
  1. . S DIC="^AUPNMCD("_BHLMCDE_",11,",DIC("P")=$P(^DD(9000004,1101,0),U,2)
  1. . S DIC(0)="L",DA(1)=BHLMCDE,X=BHLPED,DIC("DR")=".02///"_BHLPEXD
  1. . S DIC("DR")=DIC("DR")_";.03///"_BHLCT
  1. . D ^DIC
  1. . I Y<0 S BHLERCD="NOMCDM" X BHLERR Q
  1. S BHLMCM=0 F S BHLMCM=$O(^AUPNMCD(BHLMCDE,11,BHLMCM)) Q:BHLMCM="" D
  1. . S BHLDATA=$G(^AUPNMCD(BHLMCDE,11,BHLMCM,0))
  1. . I BHLMCM=BHLPED,$P(BHLDATA,U,3)=BHLCT S BHLMCME=BHLMCM Q
  1. Q:'$D(^AUPNMCD(BHLMCDE,0))
  1. I BHLMCME="" D Q
  1. . S DIC="^AUPNMCD("_BHLMCDE_",11,",DIC("P")=$P(^DD(9000004,1101,0),U,2)
  1. . S DIC(0)="L",DA(1)=BHLMCDE,X=BHLPED,DIC("DR")=".02///"_BHLPEXD
  1. . S DIC("DR")=DIC("DR")_";.03///"_BHLCT
  1. . D ^DIC
  1. . I Y<0 S BHLERCD="NOMCDM" X BHLERR Q
  1. S DIE="^AUPNMCD("_BHLMCDE_",11,",DA(1)=BHLMCDE,DA=BHLMCME
  1. S DR=".02///"_BHLPEXD_";.03///"_BHLCT
  1. D ^DIE
  1. I $D(Y) S BHLERCD="NOUPMCDM" X BHLERR Q
  1. Q
  1. ;
  1. MCR ;-- file medicare data
  1. S BHLMCRE=""
  1. I BHLIID="" S BHLERCD="NOMCRN" X BHLERR Q
  1. I BHLPED="" S BHLERCD="NOMCRED" X BHLERR Q
  1. I '$D(^AUPNMCR(BHLPAT,0)) D Q
  1. . S DIC="^AUPNMCR(",DLAYGO=9000003,X=BHLPAT,DINUM=X,DIC(0)="L"
  1. . S DIC("DR")=".02///"_BHLICN_";.03///"_BHLIID_";.04///"_BHLGN
  1. . K DD,DO
  1. . D FILE^DICN
  1. . K DINUM
  1. . I Y<0 S BHLERCD="NOMCR" X BHLERR Q
  1. . S DIC="^AUPNMCR("_BHLPAT_",11,",DIC("P")=$P(^DD(9000003,1101,0),U,2)
  1. . S DIC(0)="L",DA(1)=BHLPAT,X=BHLPED
  1. . S DIC("DR")=".02///"_BHLPEXD_";.03///"_BHLCT
  1. . D ^DIC
  1. . I Y<0 S BHLERCD="NOMCRM" X BHLERR Q
  1. S DIE="^AUPNMCR(",DA=BHLPAT,DR=".03///"_BHLIID_";.04///"_BHLGN
  1. S DR=DR_";2101///"_BHLNOI
  1. D ^DIE
  1. I $D(Y) S BHLERCD="NOUPMCR" X BHLERR Q
  1. S BHLMCR=0 F S BHLMCR=$O(^AUPNMCR(BHLPAT,11,BHLMCR)) Q:BHLMCR="" D
  1. . S BHLDATA=$G(^AUPNMCR(BHLPAT,11,BHLMCR,0))
  1. . I $P(BHLDATA,U)=BHLPED,$P(BHLDATA,U,3)=BHLCT S BHLMCRE=BHLMCR Q
  1. Q:'$D(^AUPNMCR(BHLPAT,0))
  1. I BHLMCRE="" D Q
  1. . S DIC="^AUPNMCR("_BHLPAT_",11,",DIC("P")=$P(^DD(9000003,1101,0),U,2)
  1. . S DIC(0)="L",DA(1)=BHLPAT,X=BHLPED
  1. . S DIC("DR")=".02///"_BHLPEXD_";.03///"_BHLCT
  1. . D ^DIC
  1. . I Y<0 S BHLERCD="NOMCRM" X BHLERR Q
  1. S DIE="^AUPNMCR("_DFN_",11,",DA(1)=BHLPAT,DA=BHLMCRE
  1. S DR=".02///"_BHLPEXD
  1. D ^DIE
  1. I $D(Y) S BHLERCD="NOUPMCRM" X BHLERR Q
  1. Q
  1. ;
  1. PI ;-- file private insurance data
  1. S BHLPH=""
  1. ;S BHLICN=$O(^AUTNINS("MI",BHLICM,0)) only if site has insurer map
  1. I BHLICN="" S BHLERCD="NOICN" X BHLERR Q
  1. Q:BHLIID=""
  1. S BHLMA=0 F S BHLMA=$O(^AUPN3PPH("D",BHLIID,BHLMA)) Q:BHLMA="" D
  1. . I $P(^AUPN3PPH(BHLMA,0),U,3)=BHLICNI S BHLPH=BHLMA Q
  1. I BHLPH="" D Q:$D(BHLERCD)
  1. . Q:BHLNOI=""
  1. . S DIC="^AUPN3PPH(",X=BHLNOI,DLAYGO=9000003.1,DIC(0)="L"
  1. . S DIC("DR")=".03////"_BHLICN_";.04///"_BHLIID
  1. . S DIC("DR")=DIC("DR")_";.08///"_BHLISX_";.09///"_BHLSTR
  1. . S DIC("DR")=DIC("DR")_";.11///"_BHLCTY_";.12///"_BHLST
  1. . S DIC("DR")=DIC("DR")_";.13///"_BHLZP_";.17///"_BHLPED
  1. . S DIC("DR")=DIC("DR")_";.18///"_BHLPEXD
  1. . K DD,D0,DO
  1. . D FILE^DICN
  1. . I Y<0 S BHLERCD="NO3PPH" X BHLERR Q
  1. . S BHLPH=+Y
  1. Q:BHLNOI=""
  1. I $D(^AUPNPRVT(BHLPAT,0)) D UPI^BHLIN1IA Q
  1. S DIC="^AUPNPRVT(",DLAYGO=9000006,DIC(0)="L",X=BHLPAT,DINUM=X
  1. K DD,DO
  1. D FILE^DICN
  1. K DINUM
  1. I Y<0 S BHLERCD="NOPIE" X BHLERR Q
  1. S DIC="^AUPNPRVT("_BHLPAT_",11,"
  1. S DIC("P")=$P(^DD(9000006,1101,0),U,2),DIC(0)="L",DA(1)=BHLPAT
  1. S X="`"_BHLICN,DIC("DR")=".02///"_BHLIID_";.04///"_BHLNOI
  1. S DIC("DR")=DIC("DR")_";.06///"_BHLPED_";.07///"_BHLPEXD
  1. S DIC("DR")=DIC("DR")_";.08///"_BHLPH
  1. D ^DIC
  1. I Y<0 S BHLERCD="NOPIEM" X BHLERR Q
  1. Q
  1. ;
  1. EOJ ;-- kill variables
  1. K @BHLTMP
  1. K BHLICN,BHLGN,BHLGNM,BHLPED,BHLPEXD,BHLNOI,BHLIDOB,BHLSTR,BHLCTY
  1. K BHLST,BHLZP,BHLISX,BHLIID,BHLIT,BHLMCD,BHLMCDE,BHLMCM,BHLMCME
  1. K BHLMCR,BHLMCRE,BHLMA,BHLPH,BHLICNI
  1. Q
  1. ;