| 1 | EASEZFM ;ALB/jap - Filing 1010EZ Data to Patient Database ;10/12/00  13:08
 | 
|---|
| 2 |  ;;1.0;ENROLLMENT APPLICATION SYSTEM;;Mar 15, 2001
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | QUE ;entry point from queued background job
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ;check signature verification before continuing
 | 
|---|
| 7 |  Q:'$G(EASAPP)
 | 
|---|
| 8 |  Q:'$D(^EAS(712,EASAPP,0))
 | 
|---|
| 9 |  S EASEZNEW=$P(^EAS(712,EASAPP,0),U,11)
 | 
|---|
| 10 |  S X=$G(^EAS(712,EASAPP,1))
 | 
|---|
| 11 |  ;recheck signature status
 | 
|---|
| 12 |  I ('$P(X,U,1))&('$P(X,U,2)) D  Q
 | 
|---|
| 13 |  .;remove filing date if can't continue
 | 
|---|
| 14 |  .S FDT=$P(^EAS(712,EASAPP,2),U,5),$P(^EAS(712,EASAPP,2),U,5)="",$P(^EAS(712,EASAPP,2),U,6)="",$P(^EAS(712,EASAPP,2),U,11)=""
 | 
|---|
| 15 |  .I FDT K ^EAS(712,"FIL",FDT,EASAPP)
 | 
|---|
| 16 |  .D APPINDEX^EASEZU2(EASAPP)
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  L +^EAS(712,EASAPP)
 | 
|---|
| 19 |  ;check incoming data
 | 
|---|
| 20 |  D CHECK
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  ;get EZ1010 data into ^TMP("EZDATA" array
 | 
|---|
| 23 |  D EN^EASEZC1(EASAPP,.EASDFN)
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  ;store file #2 data
 | 
|---|
| 26 |  D F2^EASEZF1(EASDFN)
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ;store file #408.12, #408.13, #408.21, #408.22 data
 | 
|---|
| 29 |  D F408^EASEZF2(EASAPP,EASDFN)
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ;store file #355.33 data;
 | 
|---|
| 32 |  ;call IB API to file health insurance and Medicare data
 | 
|---|
| 33 |  D IBINS^EASEZF5(EASAPP,EASDFN)
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 |  ;update 'new patient' remark
 | 
|---|
| 36 |  I EASEZNEW D
 | 
|---|
| 37 |  .S REM="New Patient record added by ELECTRONIC 10-10EZ."
 | 
|---|
| 38 |  .S DA=EASDFN,DIE="^DPT(",DR=".091///^S X=REM"
 | 
|---|
| 39 |  .D ^DIE
 | 
|---|
| 40 |  ;update processing status if not already done
 | 
|---|
| 41 |  I $P($G(^EAS(712,EASAPP,2)),U,5)="" D SETDATE^EASEZU2(EASAPP,"FIL")
 | 
|---|
| 42 |  ;remove the task id
 | 
|---|
| 43 |  S $P(^EAS(712,EASAPP,2),U,11)=""
 | 
|---|
| 44 |  L -^EAS(712,EASAPP)
 | 
|---|
| 45 |  Q
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 | CHECK ;check data
 | 
|---|
| 48 |  ;returns '0' if any invalid data found; otherwise '1'
 | 
|---|
| 49 |  N SUBIEN,X,CHK,DIK,DA
 | 
|---|
| 50 |  ;remove any 'noise' from incoming data
 | 
|---|
| 51 |  S SUBIEN=0 F  S SUBIEN=$O(^EAS(712,EASAPP,10,SUBIEN)) Q:+SUBIEN=0  D
 | 
|---|
| 52 |  .S CHK=$P($G(^EAS(712,EASAPP,10,SUBIEN,1)),U,1)
 | 
|---|
| 53 |  .I (CHK="/")!(CHK="//")!(CHK="-")!(CHK="--")!(CHK=" ")!(CHK="") D
 | 
|---|
| 54 |  ..S DA=SUBIEN,DA(1)=EASAPP,DIK="^EAS(712,"_DA(1)_",10,"
 | 
|---|
| 55 |  ..D ^DIK
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 |  ;
 | 
|---|
| 58 | CLEAN ; cleanup
 | 
|---|
| 59 |  K ^TMP("EZDATA",$J),^TMP("EZINDEX",$J),^TMP("EZTEMP",$J),^TMP("EZDISP",$J)
 | 
|---|
| 60 |  Q
 | 
|---|