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

GMTSPN.m

Go to the documentation of this file.
  1. GMTSPN ; SLC/KER - Progress Note ; 5/17/06 2:06pm
  1. ;;2.7;Health Summary;**12,28,33,35,45,47,49,55,81**;Oct 20, 1995;Build 23
  1. ;
  1. ; External References
  1. ; DBIA 2902 VISIT^TIULAPIC
  1. ; DBIA 2902 MAIN^TIULAPIC
  1. ; DBIA 10006 ^DIC
  1. ;
  1. PN ; Progress Note Health Summary Component
  1. N TIUSTAT,TIUTYPE,TIUNAM,DIC,TIUFPRIV,TIUXREF,GMTSTIUC,X,Y,GMTSREF
  1. S TIUFPRIV=1,TIUSTAT="ALL",TIUXREF="""APT""",GMTSTIUC="P",(TIUNAM,X)="PROGRESS NOTES"
  1. S DIC="^TIU(8925.1,",DIC(0)="X",DIC("S")="I $P($G(^(0)),U,4)=""CL"""
  1. D ^DIC K DIC("S") S:Y>0 TIUTYPE=+Y S GMTSREF="" D MAIN K GMTSREF
  1. Q
  1. MAIN ; Control branching
  1. N ADATE,ADMIT,ASUB,ATDATE,ATTNDNG,ATTYPE,ATYPE,AUTHOR,CHILD,CONEED
  1. N COSAME,COSGEDBY,COSIG,CURIEN,DISCHG,GMTSA,GMTSAI,GMTSAII,GMTSCNT
  1. N GMTSD,GMTSDIC,GMTSEXSG,GMTSI,GMTSIEN,GMTSID,GMTSIDC,GMTSII,GMTSIQ
  1. N GMTSJ,GMTSK,GMTSODIC,GMTSPDIC,GMTSTDIC,GMTSPR,GMTSREC,GMTST,GMTSX
  1. N GMTSXTRA,I,PARIEN,PDATE,PN,PSUB,PTYPE,REASON,SIGNEDBY,STATUS,TSPEC
  1. N TYPE,X,Y
  1. K ^TMP("TIU",$J) S GMTSX=1 D EXTIU Q:'$D(^TMP("TIU",$J)) D PNOTE
  1. K ^TMP("TIU",$J),PN Q
  1. ;
  1. ; Progress Notes
  1. ;
  1. ; ^TMP("TIU",$J,IDT,0)
  1. ; ^TMP("TIU",$J,IDT,IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"TEXT",#,0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZADD",IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZADD",IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZADD",IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZADD",IEN,"TEXT",#,0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZAD",0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,"TEXT",#,0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,"ZADD",IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,"ZADD",IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,"ZADD",IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,IEN,"ZZID",#,IEN,"ZADD",IEN,"TEXT",#,0)
  1. ;
  1. ; Selected Progress Notes
  1. ;
  1. ; ^TMP("TIU",$J,IDT,#,0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"TEXT",#,0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZADD",IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZADD",IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZADD",IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZADD",IEN,"TEXT",#,0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,"TEXT",#,0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,"ZADD",IEN,FLD,"E")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,"ZADD",IEN,FLD,"I")
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,"ZADD",IEN,"TEXT",0)
  1. ; ^TMP("TIU",$J,IDT,#,IEN,"ZZID",#,IEN,"ZADD",IEN,"TEXT",#,0)
  1. ;
  1. PNOTE ; Progress Notes
  1. D CKP^GMTSUP Q:$D(GMTSQIT) S GMTSD=0 F S GMTSD=$O(^TMP("TIU",$J,GMTSD)) Q:+GMTSD=0 D
  1. . S GMTSODIC="^TMP(""TIU"","_$J_","_GMTSD_"," D NOTE
  1. Q:$D(GMTSQIT) D CKP^GMTSUP Q:$D(GMTSQIT) W ! Q
  1. SNOTE ; Selected Progress Notes
  1. D CKP^GMTSUP Q:$D(GMTSQIT) S GMTSD=0 F S GMTSD=$O(^TMP("TIU",$J,GMTSD)) Q:+GMTSD=0 D
  1. . N GMTSS S GMTSS=0 F S GMTSS=$O(^TMP("TIU",$J,GMTSD,GMTSS)) Q:+GMTSS=0 D
  1. . . S GMTSODIC="^TMP(""TIU"","_$J_","_GMTSD_","_GMTSS_"," D NOTE
  1. Q:$D(GMTSQIT) D CKP^GMTSUP Q:$D(GMTSQIT) W ! Q
  1. ;
  1. NOTE ; Primary Note
  1. N GMTSTDIC,GMTSI,GMTSXTRA S GMTSI=0
  1. F S GMTSI=$O(@(GMTSODIC_GMTSI_")")) Q:+GMTSI=0 D
  1. . S (GMTSTDIC,GMTSPDIC,GMTSDIC)=GMTSODIC,(PARIEN,CURIEN)=GMTSI
  1. . S CHILD=+($G(@(GMTSDIC_CURIEN_",""ZZID"",0)"))),TYPE="",GMTSID=0
  1. . S:$D(@(GMTSDIC_CURIEN_",""ZZID"")")) TYPE="Parent Interdisciplinary Note",GMTSID=1
  1. . K PN S PN("#")=CURIEN,PN("#",0)="NOTE"
  1. . D FLDS(GMTSDIC,CURIEN) D:$D(@(GMTSDIC_CURIEN_",""ZZID"")")) ST^GMTSPN1("Begin Interdisciplinary Note")
  1. . D WARN1^GMTSPN2 D:$E($G(GMTSTIUC),1)'["D" WH^GMTSPN1
  1. . D:$G(GMTSTIUC)="DCS" WDH^GMTSPN1
  1. . D:GMTSCNT=1&($G(GMTSTIUC)="DSB") WDBH^GMTSPN1
  1. . I $G(GMTSTIUC)="DSB" D WDB^GMTSPN1(GMTSDIC,CURIEN) Q
  1. . D:$D(@(GMTSDIC_CURIEN_",""PROBLEM"")")) WP^GMTSPN1(GMTSDIC,CURIEN)
  1. . D WT^GMTSPN1(GMTSDIC,CURIEN),WS^GMTSPN2(GMTSDIC,CURIEN),WARN2^GMTSPN2
  1. . D:+($G(PN("AMENDMNT")))>0 AM^GMTSPN1(GMTSDIC,CURIEN)
  1. . D BL^GMTSPN2 N GMTSODIC S GMTSODIC=GMTSTDIC_CURIEN_"," D ANOTE,INOTE
  1. . I GMTSID D ST^GMTSPN1("End Interdisciplinary Note") S GMTSID=0
  1. Q
  1. ANOTE ; Addendum to a Progress Note
  1. N GMTSAI,GMTSXTRA S GMTSAI=0
  1. F S GMTSAI=$O(@(GMTSODIC_"""ZADD"","_GMTSAI_")")) Q:+GMTSAI=0 D
  1. . S (GMTSTDIC,GMTSDIC)=GMTSODIC_"""ZADD"",",CURIEN=GMTSAI
  1. . K PN S PN("#")=GMTSI_"^"_CURIEN,PN("#",0)="ADDENDUM TO A NOTE",TYPE=""
  1. . S:$D(@(GMTSPDIC_PARIEN_",""ZZID"")")) TYPE="Addendum to a Parent Interdisciplinary Note"
  1. . D FLDS(GMTSDIC,CURIEN),WARN1^GMTSPN2,WAH^GMTSPN1
  1. . D WT^GMTSPN1(GMTSDIC,CURIEN),WS^GMTSPN2(GMTSDIC,CURIEN),WARN2^GMTSPN2,BL^GMTSPN2
  1. Q
  1. INOTE ; Interdisciplinary Progress Note
  1. Q:+($G(@(GMTSODIC_"""ZZID"",0)")))'>0
  1. N GMTSIQ,GMTSII,GMTSXTRA S GMTSIQ=0
  1. F S GMTSIQ=$O(@(GMTSODIC_"""ZZID"","_GMTSIQ_")")) Q:+GMTSIQ=0 D
  1. . S GMTSTDIC=GMTSODIC N GMTSODIC S GMTSODIC=GMTSTDIC_"""ZZID"","_GMTSIQ_","
  1. . S GMTSII=0 F S GMTSII=$O(@(GMTSODIC_GMTSII_")")) Q:+GMTSII=0 D
  1. . . S GMTSDIC=GMTSODIC,CURIEN=GMTSII
  1. . . K PN S PN("#")=GMTSI_"^"_CURIEN,PN("#",0)="INTERDISCIPLINARY NOTE"
  1. . . S TYPE="Child Interdisciplinary Note"
  1. . . D FLDS(GMTSDIC,CURIEN),ST^GMTSPN1("Interdisciplinary Note Cont.")
  1. . . D WARN1^GMTSPN2,WIH^GMTSPN1 D:$D(@(GMTSDIC_CURIEN_",""PROBLEM"")")) WP^GMTSPN1(GMTSDIC,CURIEN)
  1. . . D WT^GMTSPN1(GMTSDIC,CURIEN),WS^GMTSPN2(GMTSDIC,CURIEN)
  1. . . D WARN2^GMTSPN2 D:+($G(PN("AMENDMNT")))>0 AM^GMTSPN1(GMTSDIC,CURIEN) D BL^GMTSPN2
  1. . . S GMTSTDIC=GMTSODIC N GMTSODIC S GMTSODIC=GMTSTDIC_GMTSII_",""ZADD"","
  1. . . D AINOTE
  1. Q
  1. AINOTE ; Addendum to an Interdisciplinary Progress Note
  1. N GMTSAII,GMTSXTRA S GMTSAII=0
  1. F S GMTSAII=$O(@(GMTSODIC_GMTSAII_")")) Q:+GMTSAII=0 D
  1. . S GMTSDIC=GMTSODIC,CURIEN=GMTSAII
  1. . K PN S PN("#")=GMTSI_"^"_GMTSII_"^"_CURIEN
  1. . S PN("#",0)="ADDENDUM TO AN INTERDISCIPLINARY NOTE"
  1. . S TYPE="Addendum to a Child Interdisciplinary Note"
  1. . D FLDS(GMTSDIC,CURIEN),WARN1^GMTSPN2,WAIH^GMTSPN1,WT^GMTSPN1(GMTSDIC,CURIEN)
  1. . D WS^GMTSPN2(GMTSDIC,CURIEN),WARN2^GMTSPN2,BL^GMTSPN2
  1. Q
  1. ;
  1. ; Get Data
  1. EXTIU ; Extract Patient/Visit VIA TIU
  1. N MAX S DFN=+($G(DFN)) Q:DFN=0 S TIUTYPE=+($G(TIUTYPE)) Q:TIUTYPE=0
  1. S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:99999)
  1. S GMTS1=+($G(GMTS1)) Q:GMTS1=0 S GMTS2=+($G(GMTS2)) Q:GMTS2=0 S GMTSX=+($G(GMTSX))
  1. I +($G(GMTSPXGO))>0,$L($T(VISIT^TIULAPIC)) D VISIT^TIULAPIC(DFN,TIUTYPE,GMTS1,GMTS2,MAX,+($G(GMTSX))) Q
  1. D MAIN^TIULAPIC(DFN,TIUTYPE,GMTS1,GMTS2,MAX,+($G(GMTSX)))
  1. Q
  1. FLDS(X,I) ; Get Fields
  1. N GMTSDIC,GMTSIEN
  1. S GMTSDIC=$G(X),GMTSIEN=$G(I) Q:'$L(GMTSIEN)
  1. Q:$E($P(GMTSDIC,$J,1),1,11)'="^TMP(""TIU"","
  1. Q:'$D(@($P(GMTSDIC,",",1,($L(GMTSDIC,",")-1))_")"))
  1. Q:'$D(@(GMTSDIC_GMTSIEN_")"))
  1. S GMTSDIC=GMTSDIC_GMTSIEN_","
  1. N GMTSXTRA S GMTSCNT=+$G(GMTSCNT)+1
  1. S X=$G(@(GMTSDIC_".07,""I"")")) D REGDT4^GMTSU S ADMIT=X
  1. S X=$G(@(GMTSDIC_".08,""I"")")) D REGDT4^GMTSU S DISCHG=X
  1. S:+DISCHG'>0 DISCHG="Present"
  1. S:+ADMIT'>0 ADMIT="Unknown"
  1. S AUTHOR=$G(@(GMTSDIC_"1202,""E"")"))
  1. S ATTNDNG=$G(@(GMTSDIC_"1209,""E"")"))
  1. S TSPEC=$G(@(GMTSDIC_"1402,""E"")"))
  1. S STATUS=$G(@(GMTSDIC_".05,""E"")"))
  1. S PN("DATE")=$G(@(GMTSDIC_"1301,""I"")"))
  1. I PN("DATE")]"" S PN("DATE")=$$EDT^GMTSU(PN("DATE"))
  1. S REASON="",PN("DOCTYPE")=$G(@(GMTSDIC_".01,""E"")"))
  1. S PN("VHATYPE")=$G(@(GMTSDIC_"89261,""E"")"))
  1. S PN("STATUS")=$G(@(GMTSDIC_".05,""E"")"))
  1. S PN("AUTHOR")=$G(@(GMTSDIC_"1202,""E"")"))
  1. S PN("EXPSIGNR")=$G(@(GMTSDIC_"1204,""E"")"))
  1. S PN("LOC")=$G(@(GMTSDIC_"1205,""E"")"))
  1. S PN("EXPCOSNR")=$G(@(GMTSDIC_"1208,""E"")"))
  1. S:$G(@(GMTSDIC_"1307,""I"")"))'="" PN("DDATE")=$$ED^GMTSU($G(@(GMTSDIC_"1307,""I"")")))
  1. S:$G(@(GMTSDIC_"1501,""I"")"))'="" PN("SIGNDATE")=$$ED^GMTSU($G(@(GMTSDIC_"1501,""I"")")))
  1. S PN("SIGDT")=$G(@(GMTSDIC_"1501,""I"")"))
  1. I PN("SIGDT")]"" S PN("SIGDT")=$$EDT^GMTSU(PN("SIGDT"))
  1. S SIGNEDBY=$G(@(GMTSDIC_"1502,""I"")"))
  1. S PN("SIGBLK")=$G(@(GMTSDIC_"1503,""E"")"))
  1. S PN("STITLE")=$G(@(GMTSDIC_"1504,""E"")"))
  1. S PN("COSDT")=$G(@(GMTSDIC_"1507,""I"")"))
  1. I PN("COSDT")]"" S (COSIG,PN("COSDT"))=$$EDT^GMTSU(PN("COSDT"))
  1. S COSGEDBY=$G(@(GMTSDIC_"1508,""I"")"))
  1. S CONEED=0 S:+($G(COSGEDBY))>0 CONEED=1
  1. S PN("COBLK")=$G(@(GMTSDIC_"1509,""E"")"))
  1. S PN("COTITLE")=$G(@(GMTSDIC_"1510,""E"")"))
  1. S COSAME=$S(+($G(SIGNEDBY))>0&(+($G(SIGNEDBY))=+($G(COSGEDBY))):1,1:0)
  1. S:CONEED>0 CONEED=$S(COSAME=1:0,1:CONEED)
  1. S PN("SUBJ")=$G(@(GMTSDIC_"1701,""E"")"))
  1. I $G(@(GMTSDIC_"1505,""I"")"))="C" D
  1. . S PN("SCHART")="Signed on Chart by:",PN("SCHARTBY")="."
  1. . S:$G(@(GMTSDIC_"1512,""E"")"))'="" PN("SCHARTBY")=$G(@(GMTSDIC_"1512,""E"")"))
  1. I $E($G(GMTSTIUC),1)'["D",$G(@(GMTSDIC_"1511,""I"")"))="C" D
  1. . S PN("COCHART")="Cosigned on Chart by:",PN("COCHARTBY")="."
  1. . S:$G(@(GMTSDIC_"1513,""E"")"))'="" PN("COCHARTBY")=$G(@(GMTSDIC_"1513,""E"")"))
  1. I $E($G(GMTSTIUC),1)["D",CONEED,$G(@(GMTSDIC_"1511,""I"")"))="C" D
  1. . S PN("COCHART")="Cosigned on Chart by:",PN("COCHARTBY")="."
  1. . S:$G(@(GMTSDIC_"1513,""E"")"))'="" PN("COCHARTBY")=$G(@(GMTSDIC_"1513,""E"")"))
  1. S:$G(@(GMTSDIC_"1202,""I"")"))'=$G(@(GMTSDIC_"1502,""I"")")) PN("AUTH")="AUTHOR: "_PN("AUTHOR")
  1. S PN("AMENDMNT")=+($G(@(GMTSDIC_"1601,""I"")")))
  1. Q