| 1 | IBCIMSG ;DSI/SLM - BUILD MESSAGE FOR CLAIMSMANAGER ;12-JAN-2001
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**161**;21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | EN ;
 | 
|---|
| 6 |  KILL ^TMP("IBCIMSG",$J)    ; kill scratch global before building it
 | 
|---|
| 7 |  Q:'$D(IBIFN)
 | 
|---|
| 8 |  D INIT
 | 
|---|
| 9 |  Q
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 | INIT ;initialize variables for building the message
 | 
|---|
| 12 |  S NODE3=$G(^IBA(351.9,IBIFN,3)),NODE4=$G(^IBA(351.9,IBIFN,4))
 | 
|---|
| 13 |  S X=NODE3 D TCK^IBCIUT4() S NODE3=X
 | 
|---|
| 14 |  S X=NODE4 D TCK^IBCIUT4() S NODE4=X
 | 
|---|
| 15 |  I '$D(IBCISNT) S IBCISNT=1
 | 
|---|
| 16 |  S IBCICL=$P(^DGCR(399,IBIFN,0),U),IBCICLNP=IBCICL
 | 
|---|
| 17 |  S X=IBCICL,X1=25,IBCICL=$$FILL^IBCIUT2
 | 
|---|
| 18 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,2)=IBCICL
 | 
|---|
| 19 |  S IBCIEBID=$$NOW^XLFDT,X=IBCIEBID D NOW^IBCIUT1 S IBCIEBID=Y K Y
 | 
|---|
| 20 |  S X=IBCIEBID,X1=25,IBCIEBID=$$FILL^IBCIUT2
 | 
|---|
| 21 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,1)=IBCIEBID
 | 
|---|
| 22 |  S IBCIPID=$P(NODE3,U,1),X=IBCIPID,X1=20,IBCIPID=$$FILL^IBCIUT2
 | 
|---|
| 23 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,3)=IBCIPID
 | 
|---|
| 24 |  S IBCIAPID="",X=$G(IBCIAPID),X1=20,IBCIAPID=$$FILL^IBCIUT2
 | 
|---|
| 25 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,4)=IBCIAPID
 | 
|---|
| 26 |  S IBCIPTLA=$P(NODE3,U,2),X=IBCIPTLA,X1=40,IBCIPTLA=$$FILL^IBCIUT2
 | 
|---|
| 27 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,5)=IBCIPTLA
 | 
|---|
| 28 |  S IBCIPTMI=$P(NODE3,U,3),X=IBCIPTMI,X1=20,IBCIPTMI=$$FILL^IBCIUT2
 | 
|---|
| 29 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,6)=IBCIPTMI
 | 
|---|
| 30 |  S IBCIPTFI=$P(NODE3,U,4),X=IBCIPTFI,X1=20,IBCIPTFI=$$FILL^IBCIUT2
 | 
|---|
| 31 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,7)=IBCIPTFI
 | 
|---|
| 32 |  S IBCIDOB=$P(NODE3,U,5),X=IBCIDOB D NOW^IBCIUT1
 | 
|---|
| 33 |  S X=Y,X1=16,IBCIDOB=$$FILL^IBCIUT2 K Y
 | 
|---|
| 34 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,8)=IBCIDOB
 | 
|---|
| 35 |  S IBCISEX=$P(NODE3,U,6),X=IBCISEX,X1=1,X4="T",IBCISEX=$$FILL^IBCIUT2
 | 
|---|
| 36 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,9)=IBCISEX K X4
 | 
|---|
| 37 |  S IBCIET=$P(NODE3,U,7),X=IBCIET D NOW^IBCIUT1 S IBCIET=Y K Y
 | 
|---|
| 38 |  S X=IBCIET,X1=16,IBCIET=$$FILL^IBCIUT2
 | 
|---|
| 39 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,10)=IBCIET
 | 
|---|
| 40 |  S IBCIRPID=$P(NODE3,U,8),X=IBCIRPID,X1=20,IBCIRPID=$$FILL^IBCIUT2
 | 
|---|
| 41 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,11)=IBCIRPID
 | 
|---|
| 42 |  S IBCIRPLA=$P(NODE3,U,9),X=IBCIRPLA,X1=40,IBCIRPLA=$$FILL^IBCIUT2
 | 
|---|
| 43 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,12)=IBCIRPLA
 | 
|---|
| 44 |  S IBCIRPMI=$P(NODE3,U,10),X=IBCIRPMI,X1=20,IBCIRPMI=$$FILL^IBCIUT2
 | 
|---|
| 45 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,13)=IBCIRPMI
 | 
|---|
| 46 |  S IBCIRPFI=$P(NODE3,U,11),X=IBCIRPFI,X1=20,IBCIRPFI=$$FILL^IBCIUT2
 | 
|---|
| 47 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,14)=IBCIRPFI
 | 
|---|
| 48 |  S IBCIRPTI=$P(NODE3,U,12),X=IBCIRPTI,X1=5,X4="T",IBCIRPTI=$$FILL^IBCIUT2
 | 
|---|
| 49 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,15)=IBCIRPTI K X4
 | 
|---|
| 50 |  S IBCIRPDE=$P(NODE4,U,1),X=IBCIRPDE,X1=20,IBCIRPDE=$$FILL^IBCIUT2
 | 
|---|
| 51 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,16)=IBCIRPDE
 | 
|---|
| 52 |  S IBCIRPSP=$P(NODE4,U,2),X=IBCIRPSP,X1=10,IBCIRPSP=$$FILL^IBCIUT2
 | 
|---|
| 53 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,17)=IBCIRPSP
 | 
|---|
| 54 |  S IBCIRPDI=$P(NODE4,U,3),X=IBCIRPDI,X1=10,IBCIRPDI=$$FILL^IBCIUT2
 | 
|---|
| 55 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,18)=IBCIRPDI
 | 
|---|
| 56 |  S IBCIRPUP=$P(NODE4,U,4),X=IBCIRPUP,X1=10,IBCIRPUP=$$FILL^IBCIUT2
 | 
|---|
| 57 |  S ^TMP("IBCIMSG",$J,IBIFN,IBCICLNP,19)=IBCIRPUP
 | 
|---|
| 58 | ICD9 ;build and check icd9 code array
 | 
|---|
| 59 |  N LITM,DNUM,IBCIMSG K ^TMP("IBCIMSG",$J,IBIFN,"ICD")
 | 
|---|
| 60 |  S IBCIMSG=1 D DIAG^IBCIUT1(IBIFN)
 | 
|---|
| 61 |  S LITM=0 F  S LITM=$O(^TMP("IBCIMSG",$J,IBIFN,"ICD",LITM)) Q:'LITM  D
 | 
|---|
| 62 |  .S DNUM=0 F  S DNUM=$O(^TMP("IBCIMSG",$J,IBIFN,"ICD",LITM,DNUM)) Q:'DNUM  D
 | 
|---|
| 63 |  ..S X=^TMP("IBCIMSG",$J,IBIFN,"ICD",LITM,DNUM) D CCK^IBCIUT4(),TCK^IBCIUT4()
 | 
|---|
| 64 |  ..S ^TMP("IBCIMSG",$J,IBIFN,"ICD",LITM,DNUM)=X
 | 
|---|
| 65 |  D INIT1^IBCIMSG1
 | 
|---|
| 66 |  Q
 | 
|---|