[645] | 1 | BMXADOS1 ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE GUI VERSION ;
|
---|
[1087] | 2 | ;;2.3;BMX;;Jan 25, 2011
|
---|
[645] | 3 | ; RPC CALLS
|
---|
| 4 | ;
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | DISP(OUT) ; TEMP DISPLAY
|
---|
| 8 | N I,X
|
---|
| 9 | S I=0 W !
|
---|
| 10 | F S I=$O(@OUT@(I)) Q:'I S X=@OUT@(I) S X=$TR(X,$C(30),"}") S X=$TR(X,$C(31),"{") W !,X
|
---|
| 11 | Q
|
---|
| 12 | ;
|
---|
| 13 | SCHEMA(NAME) ; GIVEN SCHEMA NAME, RETURN THE IEN
|
---|
| 14 | N IEN
|
---|
| 15 | S IEN=$O(^BMXADO("B",NAME,0))
|
---|
| 16 | Q IEN
|
---|
| 17 | ;
|
---|
| 18 | FILE ; RETURN A LIST OF FILES
|
---|
| 19 | N OUT,%,SIEN
|
---|
| 20 | S SIEN=$$SCHEMA("FILEMAN FILES")
|
---|
| 21 | D SS^BMXADO(.OUT,SIEN,"","B~B~C~")
|
---|
| 22 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 23 | K ^TMP("BMX ADO",$J)
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | SF ; RETURN A LIST OF SUBFILES
|
---|
| 27 | N OUT,%,SIEN
|
---|
| 28 | S SIEN=$$SCHEMA("SUBFILES")
|
---|
| 29 | D SS^BMXADO(.OUT,SIEN,"","~~~~~SFIT~BMXADOS1~2~")
|
---|
| 30 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 31 | K ^TMP("BMX ADO",$J)
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | FLD ; RETURN LIST OF FIELDS FOR A FILE OR SUBFILE
|
---|
| 35 | N OUT,%,SIEN
|
---|
| 36 | S SIEN=$$SCHEMA("FIELDS")
|
---|
| 37 | D SS^BMXADO(.OUT,SIEN,"","~~~~~FLDIT~BMXADOS1~2~")
|
---|
| 38 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 39 | K ^TMP("BMX ADO",$J)
|
---|
| 40 | Q
|
---|
| 41 | ;
|
---|
| 42 | SCH ; RETURN A LIST OF SCHEMAS
|
---|
| 43 | N OUT,%,SIEN
|
---|
| 44 | S SIEN=$$SCHEMA("SCHEMAS")
|
---|
| 45 | D SS^BMXADO(.OUT,SIEN,"","B~~~")
|
---|
| 46 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 47 | K ^TMP("BMX ADO",$J)
|
---|
| 48 | Q
|
---|
| 49 | ;
|
---|
| 50 | SD ; RETURN THE SCHEMA DEFINITION
|
---|
| 51 | N OUT,%,SIEN
|
---|
| 52 | S SIEN=$$SCHEMA("SCHEMA DEFINITION")
|
---|
| 53 | D SS^BMXADO(.OUT,SIEN,"52,","~~~")
|
---|
| 54 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
| 55 | K ^TMP("BMX ADO",$J)
|
---|
| 56 | Q
|
---|
| 57 | ;
|
---|
| 58 | FLDIT(PARAM,IENS,MAX,OUT,TOT) ; CUSTOM ITERATOR TO DISPLAY FIELDS
|
---|
| 59 | N SFARR,CNT,DEL,NUM,NAME,DDT,DLEN,DHDR,DRO,DKEY,DNA,X,Y
|
---|
| 60 | D FLIST^BMXADOS(.SFARR,PARAM)
|
---|
| 61 | S CNT=0,DEL=" ["
|
---|
| 62 | F S CNT=$O(SFARR(CNT)) Q:'CNT D
|
---|
| 63 | . S X=SFARR(CNT) I '$L(X) Q
|
---|
| 64 | . S NAME=$P(X,DEL)
|
---|
| 65 | . ; F Q:$E(NAME)'=" " S NAME=$E(NAME,2,999)
|
---|
| 66 | . I '$L(NAME) Q
|
---|
| 67 | . S NUM=+$P(X,DEL,2) I 'NUM Q
|
---|
| 68 | . S TOT=TOT+1
|
---|
| 69 | . S Y=$$FDEF^BMXADOS(PARAM,NUM) I '$L(Y) Q ; ""
|
---|
| 70 | . S DDT=$E(Y),DLEN=+$E(Y,2,6),DHDR=$E(Y,7,99)
|
---|
| 71 | . S DRO="NO" S DKEY="NO" S DNA="YES"
|
---|
| 72 | . S ^TMP("BMX ADO",$J,TOT)=NUM_U_NAME_U_DDT_U_DLEN_U_DHDR_U_DRO_U_DKEY_U_DNA_$C(30)
|
---|
| 73 | Q ""
|
---|
| 74 | ;
|
---|
| 75 | FNIT(PARAM,IENS,MAX,OUT,TOT) ; CUSTOM ITERATOR TO DISPLAY FILE OR SUBFILE NAME GIVEN FILE NUMBER
|
---|
| 76 | N NUM,NAME
|
---|
| 77 | S NUM=+PARAM
|
---|
| 78 | S NAME=""
|
---|
| 79 | Q:'$D(^DD(NUM,0,"NM")) ""
|
---|
| 80 | S NAME=$O(^DD(NUM,0,"NM",0))
|
---|
| 81 | S TOT=TOT+1
|
---|
| 82 | S ^TMP("BMX ADO",$J,TOT)=NUM_U_NAME_$C(30)
|
---|
| 83 | Q ""
|
---|
| 84 | ;
|
---|
| 85 | SFIT(PARAM,IENS,MAX,OUT,TOT) ; CUSTOM ITERATOR TO DISPLAY SUBFILES
|
---|
| 86 | N SFARR,CNT,DEL,NUM,NAME
|
---|
| 87 | D SC^BMXADOS(.SFARR,PARAM)
|
---|
| 88 | S CNT=0,DEL=" ("
|
---|
| 89 | F S CNT=$O(SFARR(CNT)) Q:'CNT D
|
---|
| 90 | . S X=SFARR(CNT) I '$L(X) Q
|
---|
| 91 | . S NAME=$P(X,DEL)
|
---|
| 92 | . ; F Q:$E(NAME)'=" " S NAME=$E(NAME,2,999)
|
---|
| 93 | . I '$L(NAME) Q
|
---|
| 94 | . S NUM=+$P(X,DEL,2) I 'NUM Q
|
---|
| 95 | . S TOT=TOT+1
|
---|
| 96 | . S ^TMP("BMX ADO",$J,TOT)=NUM_U_NAME_$C(30)
|
---|
| 97 | Q ""
|
---|
| 98 | ;
|
---|
| 99 | SFT(FNAME) ; TRIGGER "YES" TO INDICATE THAT A SUBFILE IS PRESENT WITHIN A FILE
|
---|
| 100 | I '$L($G(FNAME)) Q ""
|
---|
| 101 | N FIEN
|
---|
| 102 | S FIEN=$O(^DIC("B",FNAME,0))
|
---|
| 103 | I 'FIEN Q ""
|
---|
| 104 | I '$O(^DD(FIEN,"SB",0)) Q ""
|
---|
| 105 | Q "+"
|
---|
| 106 | ;
|
---|