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

PXRMSINQ.m

Go to the documentation of this file.
  1. PXRMSINQ ;SLC/PKR - Reminder simple inquiry routines ;03/14/2013
  1. ;;2.0;CLINICAL REMINDERS;**26**;Feb 04, 2005;Build 404
  1. ;===================================
  1. BROWSE(FILENUM,FLDLIST,IEN) ;Display the details of an entry using the
  1. ;FileMan Browser.
  1. I '$$FIND1^DIC(FILENUM,"","AQU",IEN) Q
  1. N BOP,NL,OUTPUT,TITLE,X
  1. D GETTEXT(FILENUM,FLDLIST,IEN,.NL,.OUTPUT)
  1. S BOP=$$BORP^PXRMUTIL("B")
  1. I BOP="B" D
  1. . S X="IORESET"
  1. . D ENDR^%ZISS
  1. . S TITLE=$$GET1^DID(FILENUM,"","","NAME")_" INQUIRY for IEN="_IEN
  1. . D BROWSE^DDBR("OUTPUT","NR",TITLE)
  1. . W IORESET
  1. . D KILL^%ZISS
  1. I BOP="P" D GPRINT^PXRMUTIL("OUTPUT")
  1. Q
  1. ;
  1. ;===================================
  1. CLBROWSE(FILENUM,FLDLIST,IEN) ;Display the details of an entry's Change
  1. ;Log using the FileMan Browser.
  1. I '$$FIND1^DIC(FILENUM,"","AQU",IEN) Q
  1. N BOP,NL,OUTPUT,TITLE,X
  1. D GETEH(FILENUM,FLDLIST,IEN,.NL,.OUTPUT)
  1. S BOP=$$BORP^PXRMUTIL("B")
  1. I BOP="B" D
  1. . S X="IORESET"
  1. . D ENDR^%ZISS
  1. . S TITLE=$$GET1^DID(FILENUM,"","","NAME")_" Change Log for IEN="_IEN
  1. . D BROWSE^DDBR("OUTPUT","NR",TITLE)
  1. . W IORESET
  1. . D KILL^%ZISS
  1. I BOP="P" D GPRINT^PXRMUTIL("OUTPUT")
  1. Q
  1. ;
  1. ;===================================
  1. GETEH(FILENUM,FLDLST,IEN,NL,OUTPUT) ;Get the edit history.
  1. N IND,NLINES,TEXT
  1. D GETTEXT(FILENUM,FLDLST,IEN,.NLINES,.TEXT)
  1. I '$D(TEXT) S OUTPUT(1)="No edits have been made." Q
  1. S NL=0
  1. F IND=2:1:NLINES D
  1. . I TEXT(IND)["Edit Date:" D Q
  1. .. I NL>0 S NL=NL+1,OUTPUT(NL)=" "
  1. .. S NL=NL+1,OUTPUT(NL)=TEXT(IND+1)_" on"_$P(TEXT(IND),"Edit Date:",2)
  1. .. S IND=IND+1
  1. . I TEXT(IND)["Edit Comments" Q
  1. . S NL=NL+1,OUTPUT(NL)=TEXT(IND)
  1. Q
  1. ;
  1. ;===================================
  1. GETTEXT(FILENUM,FLDLIST,IEN,NL,OUTPUT) ;Get the requested contents of an entry.
  1. ;FILENUM - file number
  1. ;IEN - internal entry number
  1. ;OUTPUT - array where text is returned.
  1. ;FLDLIST - a semicolon separated list of fields to include in the
  1. ;output. A piece can be a single field number, a range of fields
  1. ;in the form FM:FN, or a multiple in the form FN*. Each piece will
  1. ;be preceeded by a blank line. Example: ".01;10;15*;100:102"
  1. ;This will get the .01, a blank line and field 10, a blank line
  1. ;followed by the contents of multiple 15, a blank line followed by
  1. ;the contents of fields 100 through 102.
  1. ;text in OUTPUT.
  1. N DIQOUT,IENS,IND,INDENT,FIELD,FLABEL,FLDIND,FLDNUM,FNUM,JND
  1. N MSG,MULT,NIN,NOUT,TEMP,TEXTIN,TEXTOUT,TITLE,WPF
  1. S NL=0
  1. F FLDIND=1:1:$L(FLDLIST,";") D
  1. . S FLDNUM=$P(FLDLIST,";",FLDIND)
  1. . K DIQOUT
  1. . D GETS^DIQ(FILENUM,IEN,FLDNUM,"N","DIQOUT","MSG")
  1. . I $D(DIQOUT)=0 Q
  1. .;Preceed each group of fields with a blank line.
  1. . I NL>0 S NL=NL+1,OUTPUT(NL)=" "
  1. . S FNUM="",MULT=0
  1. . F S FNUM=$O(DIQOUT(FNUM)) Q:FNUM="" D
  1. .. I FNUM'=FILENUM D
  1. ... S MULT=1
  1. ...;DBIA #4768
  1. ... S TEXTIN=$$TITLE^XLFSTR($O(^DD(FNUM,0,"NM","")))
  1. ... D FORMATS^PXRMTEXT(1,80,TEXTIN,.NOUT,.TEXTOUT)
  1. ... F IND=1:1:NOUT S NL=NL+1,OUTPUT(NL)=TEXTOUT(IND)
  1. .. S IENS=""
  1. .. F S IENS=$O(DIQOUT(FNUM,IENS)) Q:IENS="" D
  1. ... S FIELD=""
  1. ... F S FIELD=$O(DIQOUT(FNUM,IENS,FIELD)) Q:FIELD="" D
  1. .... S FLABEL=$$GET1^DID(FNUM,FIELD,"","LABEL")
  1. .... S FLABEL=$$TITLE^XLFSTR(FLABEL)
  1. ....;Check for a word-processing field.
  1. .... S TEMP=DIQOUT(FNUM,IENS,FIELD)
  1. .... S WPF=$S(TEMP["DIQOUT":1,1:0)
  1. .... I WPF D Q
  1. ..... S NL=NL+1,OUTPUT(NL)=FLABEL_":"
  1. ..... S JND=0
  1. .....;Do not format word-processing fields so the original is displayed.
  1. ..... F S JND=$O(DIQOUT(FNUM,IENS,FIELD,JND)) Q:JND="" S NL=NL+1,OUTPUT(NL)=DIQOUT(FNUM,IENS,FIELD,JND)
  1. .... S TEXTIN=$$TITLE^XLFSTR(FLABEL)_": "_DIQOUT(FNUM,IENS,FIELD)
  1. .... S INDENT=$S(MULT:2,1:1)
  1. .... D FORMATS^PXRMTEXT(INDENT,80,TEXTIN,.NOUT,.TEXTOUT)
  1. .... F IND=1:1:NOUT S NL=NL+1,OUTPUT(NL)=TEXTOUT(IND)
  1. Q
  1. ;
  1. ;===================================
  1. LMBROWSE(FILENUM,FLDLIST,IEN) ;Display the details of an entry using the
  1. ;FileMan Browser. For use by a ListManager application.
  1. I '$$FIND1^DIC(FILENUM,"","AQU",IEN) Q
  1. N BOP,NL,OUTPUT,TITLE
  1. D GETTEXT(FILENUM,FLDLIST,IEN,.NL,.OUTPUT)
  1. D FULL^VALM1
  1. S BOP=$$BORP^PXRMUTIL("B")
  1. I BOP="B" D
  1. . S TITLE=$$GET1^DID(FILENUM,"","","NAME")_" INQUIRY for IEN="_IEN
  1. . D BROWSE^DDBR("OUTPUT","NR",TITLE)
  1. I BOP="P" D
  1. . D GPRINT^PXRMUTIL("OUTPUT")
  1. . S VALMBCK="R"
  1. Q
  1. ;
  1. ;===================================
  1. LMCLBROW(FILENUM,FLDLIST,IEN) ;Display the details of an entry's edit history
  1. ;using the FileMan Browser. For use by a ListManager application.
  1. I '$$FIND1^DIC(FILENUM,"","AQU",IEN) Q
  1. N BOP,NL,OUTPUT,TITLE
  1. D GETEH(FILENUM,FLDLIST,IEN,.NL,.OUTPUT)
  1. D FULL^VALM1
  1. S BOP=$$BORP^PXRMUTIL("B")
  1. I BOP="B" D
  1. . S TITLE=$$GET1^DID(FILENUM,"","","NAME")_" Change Log for IEN="_IEN
  1. . D BROWSE^DDBR("OUTPUT","NR",TITLE)
  1. I BOP="P" D
  1. . D GPRINT^PXRMUTIL("OUTPUT")
  1. . S VALMBCK="R"
  1. Q
  1. ;
  1. ;===================================
  1. TEST(FILENUM,IEN) ;Test driver.
  1. N FLDLIST
  1. I FILENUM=801 S FLDLIST=".01;10;15*;20*;30*;100:102"
  1. I FILENUM=803 S FLDLIST=".01:15;30*;40*;45*;50*;100:102"
  1. I FILENUM=803.2 S FLDLIST=".01:5;20:24;100:102"
  1. I FILENUM=810.9 S FLDLIST=".01;1;40.7*;44*;100:102"
  1. D BROWSE(FILENUM,FLDLIST,IEN)
  1. Q
  1. ;