Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BQIRGHLP

BQIRGHLP.m

Go to the documentation of this file.
  1. BQIRGHLP ;PRXM/HC/ALA-Register Help ; 08 Nov 2007 2:04 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. Q
  1. ;
  1. EN(DATA,REG,CODE) ;EP -- BQI GET REGISTER HELP TEXT
  1. ; Input
  1. ; REG - A Register NAME
  1. ; CODE - A field CODE if wanting the help text for a specific register field
  1. ; otherwise if it is null, then retrieves the help text for all register fields
  1. ;
  1. NEW UID,II,RGIEN,RIEN,SIEN,TYPE,ORD,IEN,BQIHELP,AVHELP
  1. ;
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIRGHLP",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIRGHLP D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S REG=$G(REG,""),CODE=$G(CODE,"")
  1. ;
  1. S @DATA@(II)="T00050REG_NAME^T00015CODE^T01024REPORT_TEXT"_$C(30)
  1. ;
  1. I $G(REG)'="" D Q:$G(BMXSEC)'=""
  1. . S RGIEN=$O(^BQI(90506.3,"B",REG,""))
  1. . I RGIEN="" S BMXSEC="No Register found" Q
  1. . D GREG(RGIEN)
  1. . ;
  1. . I CODE'="" D
  1. .. S RIEN=$O(^BQI(90506.1,"B",CODE,""))
  1. .. D GETDATA(RIEN)
  1. ;
  1. I $G(REG)="" D
  1. . S RGIEN=0
  1. . F S RGIEN=$O(^BQI(90506.3,RGIEN)) Q:'RGIEN D
  1. .. I $P(^BQI(90506.3,RGIEN,0),U,3)=1 Q
  1. .. I $P(^BQI(90506.3,RGIEN,0),U,6)'="R" Q
  1. .. I $P(^BQI(90506.3,RGIEN,0),U,7)=1 Q
  1. .. S REG=$P(^BQI(90506.3,RGIEN,0),U,1)
  1. .. D GREG(RGIEN)
  1. ;
  1. DONE ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. ;
  1. GREG(RGIEN) ;
  1. S ORD=""
  1. F S ORD=$O(^BQI(90506.3,RGIEN,10,"C",ORD)) Q:ORD="" D
  1. . S IEN=""
  1. . F S IEN=$O(^BQI(90506.3,RGIEN,10,"C",ORD,IEN)) Q:IEN="" D
  1. .. I $P(^BQI(90506.3,RGIEN,10,IEN,0),U,4)'="S" Q
  1. .. S CODE=$P(^BQI(90506.3,RGIEN,10,IEN,0),U,7) I CODE="" Q
  1. .. S TYPE=$P($G(^BQI(90506.3,RGIEN,10,IEN,1)),U,1)
  1. .. S AVHELP=$P($G(^BQI(90506.3,RGIEN,10,IEN,3)),U,6)
  1. .. ; If this is a multiple, go to the subdefinition
  1. .. I TYPE="M" D Q
  1. ... NEW SNAME,SRIEN,SORD
  1. ... S SNAME=$P(^BQI(90506.3,RGIEN,10,IEN,0),U,1)
  1. ... S SRIEN=$O(^BQI(90506.3,"B",SNAME,"")) I SRIEN="" Q
  1. ... S SORD=""
  1. ... F S SORD=$O(^BQI(90506.3,SRIEN,10,"C",SORD)) Q:SORD="" D
  1. .... S SIEN=""
  1. .... F S SIEN=$O(^BQI(90506.3,SRIEN,10,"C",SORD,SIEN)) Q:SIEN="" D
  1. ..... I $P(^BQI(90506.3,SRIEN,10,SIEN,0),U,4)'="S" Q
  1. ..... S CODE=$P(^BQI(90506.3,SRIEN,10,SIEN,0),U,7) I CODE="" Q
  1. ..... S RIEN=$O(^BQI(90506.1,"B",CODE,"")) I RIEN="" Q
  1. ..... S AVHELP=$P($G(^BQI(90506.3,SRIEN,10,SIEN,3)),U,6)
  1. ..... NEW REG
  1. ..... S REG=SNAME
  1. ..... D GETDATA(RIEN)
  1. .. I CODE="" Q
  1. .. S RIEN=$O(^BQI(90506.1,"B",CODE,"")) I RIEN="" Q
  1. .. ;
  1. .. D GETDATA(RIEN)
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(II),$D(DATA) S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. GETDATA(RIEN) ;EP - Get the reminder help text
  1. NEW VHELP,FILE,FIELD,NAME,BQIHELPW,BN,VN
  1. I $$GET1^DIQ(90506.1,RIEN_",",.1,"I")=1 Q
  1. S NAME=$P(^BQI(90506.1,RIEN,0),U,3)
  1. S VHELP="",VN=0
  1. F S VN=$O(^BQI(90506.1,RIEN,4,VN)) Q:'VN D
  1. . S VHELP=VHELP_^BQI(90506.1,RIEN,4,VN,0)_$C(10)
  1. ;S FILE=$P(^BQI(90506.1,RIEN,0),U,5)
  1. ;S FIELD=$P(^BQI(90506.1,RIEN,0),U,6)
  1. ;D FIELD^DID(FILE,FIELD,"","HELP-PROMPT","BQIHELP")
  1. ;S VHELP=$G(BQIHELP("HELP-PROMPT"))
  1. ;I VHELP="" D
  1. ;. D FIELD^DID(FILE,FIELD,"Z","DESCRIPTION","BQIHELPW")
  1. ;. I $G(BQIHELPW("DESCRIPTION"))="" Q
  1. ;. S BN=0,VHELP=""
  1. ;. F S BN=$O(BQIHELPW("DESCRIPTION",BN)) Q:BN="" D
  1. ;.. S VHELP=VHELP_BQIHELPW("DESCRIPTION",BN,0)_$C(10)
  1. S VHELP=$$TKO^BQIUL1(VHELP,$C(10))
  1. I $G(AVHELP)'="" S VHELP=AVHELP
  1. ;
  1. S II=II+1,@DATA@(II)=REG_U_CODE_U_VHELP_$C(30)
  1. S CODE=""
  1. Q