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