[613] | 1 | XUSNPIUT ;JLI/FO-OAK - UNIT TEST ROUTINE FOR NPI WORK ;5/12/06 08:54
|
---|
| 2 | ;;8.0;KERNEL;**420**;Jul 10, 1995;Build 20
|
---|
| 3 | I $T(EN^XTMUNIT)'="" D EN^XTMUNIT("XUSNPIUT")
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ALIGNRGT ;
|
---|
| 7 | D CHKEQ^XTMUNIT($$ALIGNRGT^XUSNPIED("TEXT1",10)," TEXT1","INCORRECT RETURN VALUE")
|
---|
| 8 | D CHKEQ^XTMUNIT($$ALIGNRGT^XUSNPIED("AA AA",6)," AA AA","INCORRECT RETURN VALUE")
|
---|
| 9 | Q
|
---|
| 10 | ;
|
---|
| 11 | NEEDSNPI ;
|
---|
| 12 | N OLDVALUE,NEWVALUE,XUFDA,IENS
|
---|
| 13 | S IENS=DUZ_","
|
---|
| 14 | S OLDVALUE=$$GET1^DIQ(200,IENS,41.98)
|
---|
| 15 | K XUFDA S XUFDA(200,IENS,41.98)="@" D FILE^DIE("","XUFDA")
|
---|
| 16 | D CHKEQ^XTMUNIT($$NEEDSNPI^XUSNPIED(DUZ),0,"INCORRECT OR NO DATA")
|
---|
| 17 | ;
|
---|
| 18 | K XUFDA S XUFDA(200,IENS,41.98)="N" D FILE^DIE("","XUFDA")
|
---|
| 19 | D CHKEQ^XTMUNIT($$NEEDSNPI^XUSNPIED(DUZ),1,"INCORRECT ON NEEDS")
|
---|
| 20 | ;
|
---|
| 21 | K XUFDA S XUFDA(200,IENS,41.98)="E" D FILE^DIE("","XUFDA")
|
---|
| 22 | D CHKEQ^XTMUNIT($$NEEDSNPI^XUSNPIED(DUZ),0,"INCORRECT ON EXEMPT")
|
---|
| 23 | ;
|
---|
| 24 | K XUFDA S XUFDA(200,IENS,41.98)="D" D FILE^DIE("","XUFDA")
|
---|
| 25 | D CHKEQ^XTMUNIT($$NEEDSNPI^XUSNPIED(DUZ),0,"INCORRECT ON DONE")
|
---|
| 26 | ;
|
---|
| 27 | K XUFDA S XUFDA(200,IENS,41.98)=$S(OLDVALUE'="":OLDVALUE,1:"@")
|
---|
| 28 | Q
|
---|
| 29 | ;
|
---|
| 30 | HASNPI ;
|
---|
| 31 | N OLDVALUE,NEWVALUE,XUFDA,IENS
|
---|
| 32 | S IENS=DUZ_","
|
---|
| 33 | S OLDVALUE=$$GET1^DIQ(200,IENS,41.98)
|
---|
| 34 | K XUFDA S XUFDA(200,IENS,41.98)="@" D FILE^DIE("","XUFDA")
|
---|
| 35 | D CHKEQ^XTMUNIT($$HASNPI^XUSNPIED(DUZ),0,"INCORRECT ON NO DATA")
|
---|
| 36 | ;
|
---|
| 37 | K XUFDA S XUFDA(200,IENS,41.98)="N" D FILE^DIE("","XUFDA")
|
---|
| 38 | D CHKEQ^XTMUNIT($$HASNPI^XUSNPIED(DUZ),0,"INCORRECT ON NEEDS")
|
---|
| 39 | ;
|
---|
| 40 | K XUFDA S XUFDA(200,IENS,41.98)="E" D FILE^DIE("","XUFDA")
|
---|
| 41 | D CHKEQ^XTMUNIT($$HASNPI^XUSNPIED(DUZ),0,"INCORRECT ON EXEMPT")
|
---|
| 42 | ;
|
---|
| 43 | K XUFDA S XUFDA(200,IENS,41.98)="D" D FILE^DIE("","XUFDA")
|
---|
| 44 | D CHKEQ^XTMUNIT($$HASNPI^XUSNPIED(DUZ),1,"INCORRECT ON DONE")
|
---|
| 45 | ;
|
---|
| 46 | K XUFDA S XUFDA(200,IENS,41.98)=$S(OLDVALUE'="":$E(OLDVALUE),1:"@")
|
---|
| 47 | Q
|
---|
| 48 | ;
|
---|
| 49 | GETNPI ;
|
---|
| 50 | N I,VALUE
|
---|
| 51 | F I=0:0 S I=$O(^VA(200,I)) Q:I'>0 I $G(^VA(200,I,"NPI"))'="" Q
|
---|
| 52 | I I'>0 D FAIL^XTMUNIT("NO VALID DATA AVAILABLE") Q
|
---|
| 53 | S VALUE=$$GET1^DIQ(200,I_",",41.99)
|
---|
| 54 | D CHKEQ^XTMUNIT($$GETNPI^XUSNPIED(I),VALUE,"INCORRECT VALUE RETURNED")
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | NPISTATS ;
|
---|
| 58 | N OLDVALUE,NEWVALUE,XUFDA,IENS
|
---|
| 59 | S IENS=DUZ_","
|
---|
| 60 | S OLDVALUE=$$GET1^DIQ(200,IENS,41.98)
|
---|
| 61 | K XUFDA S XUFDA(200,IENS,41.98)="@" D FILE^DIE("","XUFDA")
|
---|
| 62 | D CHKEQ^XTMUNIT($$NPISTATS^XUSNPIED(DUZ),"","INCORRECT ON NO DATA")
|
---|
| 63 | ;
|
---|
| 64 | K XUFDA S XUFDA(200,IENS,41.98)="N" D FILE^DIE("","XUFDA")
|
---|
| 65 | D CHKEQ^XTMUNIT($$NPISTATS^XUSNPIED(DUZ),"N","INCORRECT ON NEEDS")
|
---|
| 66 | ;
|
---|
| 67 | K XUFDA S XUFDA(200,IENS,41.98)="E" D FILE^DIE("","XUFDA")
|
---|
| 68 | D CHKEQ^XTMUNIT($$NPISTATS^XUSNPIED(DUZ),"E","INCORRECT ON EXEMPT")
|
---|
| 69 | ;
|
---|
| 70 | K XUFDA S XUFDA(200,IENS,41.98)="D" D FILE^DIE("","XUFDA")
|
---|
| 71 | D CHKEQ^XTMUNIT($$NPISTATS^XUSNPIED(DUZ),"D","INCORRECT ON DONE")
|
---|
| 72 | ;
|
---|
| 73 | K XUFDA S XUFDA(200,IENS,41.98)=$S(OLDVALUE'="":$E(OLDVALUE),1:"@")
|
---|
| 74 | Q
|
---|
| 75 | ;
|
---|
| 76 | GETTAXON ;
|
---|
| 77 | N XUSGLOB,DONE,IEN,TAXON,PVAL,CODE,DESCRIP,TAXDESCR
|
---|
| 78 | S XUSGLOB=$$CHKGLOB^XUSNPIED()
|
---|
| 79 | S DONE=0 F IEN=0:0 Q:DONE S IEN=$O(^VA(200,IEN)) Q:IEN'>0 F TAXON=0:0 S TAXON=$O(^VA(200,IEN,"USC1",TAXON)) Q:TAXON'>0 I $P(^(TAXON,0),U,3)'>0 S PVAL=$P(^(0),U),CODE=$$GET1^DIQ(8932.1,PVAL_",",6) I CODE'="",$D(@XUSGLOB@(CODE)) S DONE=1 Q
|
---|
| 80 | I 'DONE D FAIL^XTMUNIT("NO VALID TAXONOMY VALUES FOUND") Q
|
---|
| 81 | S TAXDESCR=$$GET1^DIQ(8932.1,PVAL_",",1)
|
---|
| 82 | S DESCRIP=""
|
---|
| 83 | I CODE'="" S TAXON=$$GETTAXON^XUSNPIED(IEN,.DESCRIP)
|
---|
| 84 | D CHKEQ^XTMUNIT(TAXON,CODE,"INCORRECT CODE RETURNED")
|
---|
| 85 | D CHKEQ^XTMUNIT(DESCRIP,TAXDESCR,"INCORRECT DESCRIPTION RETURNED")
|
---|
| 86 | Q
|
---|
| 87 | ;
|
---|
| 88 | XTROU ;
|
---|
| 89 | ;
|
---|
| 90 | XTENT ;
|
---|
| 91 | ;;ALIGNRGT;LEFT ALIGN TEXT IN A SPECIFIED WIDTH
|
---|
| 92 | ;;NEEDSNPI;CHECK ON NEEDS NPI STATUS
|
---|
| 93 | ;;HASNPI;CHECK ON WHETHER USER HAS NPI
|
---|
| 94 | ;;GETNPI;GET NPI VALUE FOR USER
|
---|
| 95 | ;;NPISTATS;GET NPI STATUS
|
---|
| 96 | ;;GETTAXON;GET TAXONOMY DATA
|
---|