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

GMTSDESC.m

Go to the documentation of this file.
  1. GMTSDESC ; SLC/AGP - APIS TO RETURN HS TYPE AND HS OBJECTS DESC ; 05/28/2008
  1. ;;2.7;Health Summary;**89**;Oct 20, 1995;Build 61
  1. ;
  1. Q
  1. BEG(OUTPUT,IEN,FILENUM,CNT) ;
  1. N DTYPE,NODE
  1. S DTYPE=$S(FILENUM=142:"Health Summary Type",FILENUM=142.1:"Local Health Summary Component",FILENUM=142.5:"Health Summary Object",1:"")
  1. ;S CNT=CNT+1 S @OUTPUT@(CNT)=$$REPEAT^XLFSTR("-",79)
  1. S CNT=CNT+1 S @OUTPUT@(CNT)=DTYPE_":"
  1. ;S CNT=CNT+1 S @OUTPUT@(CNT)=$J(" ",24)_"Name: "_$P(NODE,U)
  1. Q
  1. ;
  1. COMP(OUTPUT,IEN,FILENUM,CNT) ;
  1. I IEN<99999 Q
  1. D BEG(.OUTPUT,IEN,FILENUM,.CNT)
  1. N GBL,NODE,TEXT
  1. S NODE=$G(^GMT(142.1,IEN,0))
  1. S TEXT=$$LJ^XLFSTR($P(NODE,U),50)_"Abbreviation: "_$P(NODE,U,4)
  1. S CNT=CNT+1,@OUTPUT@(CNT)=TEXT
  1. I $D(^GMT(142.1,IEN,3.5,0))>0 D
  1. .S GBL=$NA(^GMT(142.1,IEN,3.5)) D COMPM(.OUTPUT,IEN,3.5,GBL,.CNT)
  1. S CNT=CNT+1,@OUTPUT@(CNT)="Time Limits Applicable: "_$P(NODE,U,3)
  1. S CNT=CNT+1,@OUTPUT@(CNT)="Maximum Occurrences Applicable: "_$P(NODE,U,3)
  1. I $P(NODE,U,10)="Y" S CNT=CNT+1,@OUTPUT@(CNT)="Hospital Location Applicable: Y"
  1. I $P(NODE,U,11)="Y" S CNT=CNT+1,@OUTPUT@(CNT)="ICD Text Applicable: Y"
  1. I $P(NODE,U,12)="Y" S CNT=CNT+1,@OUTPUT@(CNT)="Provider Narrative Applicable: Y"
  1. I $P(NODE,U,14)="Y" S CNT=CNT+1,@OUTPUT@(CNT)="CPT Narrative Applicable: Y"
  1. I $P(NODE,U,13)'="" S CNT=CNT+1,@OUTPUT@(CNT)="Prefix: "_$P(NODE,U,13)
  1. I $P(NODE,U,2)'="" S CNT=CNT+1,@OUTPUT@(CNT)="Print Routine: "_$P(NODE,U,2)
  1. I $D(^GMT(142.1,IEN,.1,0))>0 D
  1. .S GBL=$NA(^GMT(142.1,IEN,.1)) D COMPM(.OUTPUT,IEN,.1,GBL,.CNT)
  1. I $D(^GMT(142.1,IEN,1,0))>0 D
  1. .S GBL=$NA(^GMT(142.1,IEN,1)) D COMPM(.OUTPUT,IEN,1,GBL,.CNT)
  1. Q
  1. ;
  1. COMPM(OUTPUT,IEN,SUBSC,GBL,CNT) ;
  1. N I,INDENT,NODE,TEXT
  1. I SUBSC=3.5 S INDENT="",TITLE="Description:"
  1. I SUBSC=.1 S INDENT=$J(" ",5),TITLE="External/Extract Routine(s):"
  1. I SUBSC=1 S INDENT=$J(" ",5),TITLE="Selection File(s):"
  1. S CNT=CNT+1,@OUTPUT@(CNT)=TITLE
  1. S I=0 F S I=$O(@GBL@(I)) Q:I'>0 D
  1. .I SUBSC=1 D Q
  1. ..S NODE=@GBL@(I,0)
  1. ..S TEXT=INDENT_"File: "_$P(^DIC($P(NODE,U),0),U)
  1. ..S TEXT=TEXT_" Selection Count Limit: "_$P(NODE,U,2)
  1. ..S CNT=CNT+1,@OUTPUT@(CNT)=TEXT
  1. .S CNT=CNT+1,@OUTPUT@(CNT)=INDENT_$G(@GBL@(I,0))
  1. Q
  1. ;
  1. EN(IEN,FILENUM,SUB) ;
  1. I $D(^TMP($J,SUB,IEN))>0 Q
  1. N CNT,OUTPUT
  1. S CNT=0
  1. S OUTPUT=$NA(^TMP($J,SUB,IEN))
  1. D DIRECT(.OUTPUT,IEN,FILENUM,.CNT)
  1. Q
  1. ;
  1. DIRECT(OUTPUT,IEN,FILENUM,CNT) ;
  1. N ORDIALOG,TYPE
  1. I FILENUM=142.1 D COMP(.OUTPUT,IEN,FILENUM,.CNT)
  1. I FILENUM=142 D TYPE(.OUTPUT,IEN,FILENUM,.CNT)
  1. I FILENUM=142.5 D OBJECT(.OUTPUT,IEN,FILENUM,.CNT)
  1. Q
  1. ;
  1. N TEXT
  1. S TEXT=$$REPEAT^XLFSTR(" ",35)_"Max"_$$REPEAT^XLFSTR(" ",8)_"Hos"
  1. S TEXT=TEXT_" ICD Pro CPT"
  1. S CNT=CNT+1,@OUTPUT@(CNT)=TEXT
  1. S TEXT="Abb Ord Component Name"_$$REPEAT^XLFSTR(" ",8)_"OCC"
  1. S TEXT=TEXT_" Time Loc Text Nar Mod Selection"
  1. S CNT=CNT+1,@OUTPUT@(CNT)=TEXT
  1. Q
  1. ;
  1. OBJECT(OUTPUT,IEN,FILENUM,CNT) ;
  1. D BEG(.OUTPUT,IEN,FILENUM,.CNT)
  1. N NUM,OBJ
  1. D EXTRACT^GMTSOBJ(IEN,.OBJ)
  1. S NUM=0 F S NUM=$O(OBJ("D",NUM)) Q:NUM'>0 D
  1. .S CNT=CNT+1,@OUTPUT@(CNT)=$G(OBJ("D",NUM))
  1. Q
  1. TYPE(OUTPUT,IEN,FILENUM,CNT) ;
  1. D BEG(.OUTPUT,IEN,FILENUM,.CNT)
  1. N ARRAY,ERROR,IENS,NODE,NUM,SEL,SELNAM,TEXT
  1. S NODE=$G(^GMT(142,IEN,0))
  1. S CNT=CNT+1,@OUTPUT@(CNT)=$$RJ^XLFSTR("Name: ",30)_$P(NODE,U)
  1. S CNT=CNT+1,@OUTPUT@(CNT)=$$RJ^XLFSTR("Suppress Comp Without Data:",30)_$P(NODE,U,5)
  1. D HEADER(.OUTPUT,.CNT)
  1. S NUM=0 F S NUM=$O(^GMT(142,IEN,1,NUM)) Q:NUM'>0 D
  1. .S NODE=$G(^GMT(142,IEN,1,NUM,0))
  1. .S CNT=CNT+1,@OUTPUT@(CNT)=$$TYPETEXT(NODE)
  1. .S SEL=0 F S SEL=$O(^GMT(142,IEN,1,NUM,1,SEL)) Q:SEL'>0 D
  1. ..S IENS=SEL_","_NUM_","_IEN_","
  1. ..D GETS^DIQ(142.14,IENS,"**","E","ARRAY","ERROR")
  1. ..S SELNAM=$G(ARRAY(142.14,IENS,.01,"E"))
  1. ..S CNT=CNT+1,@OUTPUT@(CNT)=$$REPEAT^XLFSTR(" ",67)_SELNAM
  1. Q
  1. ;
  1. TYPETEXT(NODE) ;
  1. N ABB,CIEN,NAME
  1. S CIEN=$P(NODE,U,2) Q:CIEN'>0
  1. S NAME=$P($G(^GMT(142.1,CIEN,0)),U)
  1. S ABB=$P($G(^GMT(142.1,CIEN,0)),U,4)
  1. S TEXT=$$LJ^XLFSTR(ABB,6)
  1. S TEXT=TEXT_$$LJ^XLFSTR($P(NODE,U),7)
  1. S TEXT=TEXT_$$LJ^XLFSTR($E(NAME,1,21),22)
  1. S TEXT=TEXT_$$LJ^XLFSTR($P(NODE,U,3),5)
  1. S TEXT=TEXT_$$LJ^XLFSTR($P(NODE,U,4),6)
  1. S TEXT=TEXT_$$LJ^XLFSTR($P(NODE,U,6),5)
  1. S TEXT=TEXT_$$LJ^XLFSTR($P(NODE,U,7),6)
  1. S TEXT=TEXT_$$LJ^XLFSTR($P(NODE,U,8),5)
  1. S TEXT=TEXT_$$LJ^XLFSTR($P(NODE,U,9),8)
  1. Q TEXT
  1. ;