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

GMTSRON.m

Go to the documentation of this file.
  1. GMTSRON ; SLC/JER,KER - Surgery Reports ; 06/24/2002 [7/27/04 9:00am]
  1. ;;2.7;Health Summary;**11,28,37,57,106**;Oct 20, 1995;Build 11
  1. ;
  1. ; External References
  1. ; DBIA 3590 HS^SROGMTS
  1. ; DBIA 2056/4872 $$GET1^DIQ (file #136)
  1. ;
  1. ENSR ; Entry point for component
  1. N REC,GMTSMX,GMCOUNT,GMIDT,GMJ,GMN,SURG,GMTSGL
  1. S GMTSGL=$$GL^GMTSROE Q:'$L(GMTSGL) Q:'$D(@(GMTSGL_"""B"","_DFN_")"))
  1. S GMTSMX=999 I $D(GMTSNDM),(GMTSNDM>0) S GMTSMX=GMTSNDM
  1. S GMN=0 F S GMN=$O(@(GMTSGL_"""B"","_DFN_","_GMN_")")) Q:GMN'>0 D SORT
  1. Q:'$D(SURG) S (GMCOUNT,GMIDT)=0 F S GMIDT=$O(SURG(GMIDT)) Q:GMIDT'>0!(GMCOUNT'<GMTSMX) D
  1. . S GMN=SURG(GMIDT) K REC I $$CHK D WRT
  1. K REC
  1. Q
  1. ;
  1. SORT ; Sort surgeries by inverted date
  1. N GMDT S GMDT=$P($G(@(GMTSGL_GMN_",0)")),U,9) I GMDT>GMTSBEG&(GMDT<GMTSEND) D
  1. . F Q:'$D(SURG(9999999-GMDT)) S GMDT=GMDT+.0001
  1. . S SURG(9999999-GMDT)=GMN
  1. Q
  1. ;
  1. WRT ; Write surgical case record
  1. S GMN=+($G(GMN))
  1. D:+($$PROK^GMTSU("SROGMTS",100))>0 HS^SROGMTS(GMN)
  1. D:+($$PROK^GMTSU("SROGMTS",100))'>0 ONE^GMTSROE(GMN)
  1. N X,Y,GMI,GMDT,GMTSTR
  1. ;-------------------------------------------------------
  1. Q:$G(REC(130,GMN,118,"I"))'="Y" S GMCOUNT=GMCOUNT+1
  1. NONOR ; NON-OR information
  1. SP ; Date/Specialty/Provider
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. S GMDT=$G(REC(130,GMN,.09,"S")) S:'$L(GMDT) GMDT=$$ED^GMTSU($G(REC(130,GMN,.09,"I")))
  1. S GMTSTR=$G(REC(130,GMN,125,"S")) S:$L($G(GMTSTR))>25 GMTSTR=$$WRAP^GMTSORC(GMTSTR,25)
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W GMDT,?21,$P($G(GMTSTR),"|"),?47,"Provider: ",?56,$G(REC(130,GMN,123,"E")),!
  1. F GMI=2:1:$L($G(GMTSTR),"|") D CKP^GMTSUP Q:$D(GMTSQIT) W ?23,$P($G(GMTSTR),"|",GMI),!
  1. ;
  1. SA ; Status/Attending
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W ?13,"Status:",?21,$G(REC(130,GMN,"STATUS"))
  1. W ?46,"Attending: ",?56,$G(REC(130,GMN,124,"E")),!
  1. PA ; Principal Anesthetist
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W ?45,"Prin Anest: ",?56,$G(REC(130,GMN,.31,"E")),!
  1. PD ; Principle Diagnosis
  1. S GMTSTR=$G(REC(130,GMN,33,"S")) S:'$L(GMTSTR) GMTSTR=$G(REC(130,GMN,33,"E"))
  1. S:$L($G(GMTSTR))>39 GMTSTR=$$WRAP^GMTSORC(GMTSTR,39)
  1. D CKP^GMTSUP Q:$D(GMTSQIT) W ?9,"Princ Diag: ",$P($G(GMTSTR),"|"),!
  1. F GMI=2:1:$L($G(GMTSTR),"|") D CKP^GMTSUP Q:$D(GMTSQIT) W ?21,$P($G(GMTSTR),"|",GMI),!
  1. PP ; Principal Procedure
  1. D CKP^GMTSUP Q:$D(GMTSQIT) W ?5,"Proc Performed: "
  1. S GMTSTR=$G(REC(130,GMN,26,"S"))
  1. S:GMTSTR="" GMTSTR=$G(REC(130,GMN,26,"E"))
  1. S:$L(GMTSTR)>58 GMTSTR=$$WRAP^GMTSORC(GMTSTR,58)
  1. F GMJ=1:1:$L(GMTSTR,"|") D Q:$D(GMTSQIT)
  1. . D CKP^GMTSUP Q:$D(GMTSQIT) W ?$S(GMJ=1:21,1:22),$P(GMTSTR,"|",GMJ),!
  1. Q:$D(GMTSQIT)
  1. PPM ; Principal Procedure (Modifiers)
  1. S GMI=0 F S GMI=$O(REC(130,GMN,130.028,GMI)) Q:GMI'>0 D Q:$D(GMTSQIT)
  1. . S GMTSTR=$G(REC(130,GMN,130.028,GMI,.01,"S")) S:GMTSTR="" GMTSTR=$G(REC(130,GMN,130.028,GMI,.01,"E")) S:$L(GMTSTR)>54 GMTSTR=$$WRAP^GMTSORC(GMTSTR,54)
  1. . F GMJ=1:1:$L(GMTSTR,"|") D Q:$D(GMTSQIT)
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT) W ?$S(GMJ=1:25,1:26),$P(GMTSTR,"|",GMJ),!
  1. Q:$D(GMTSQIT)
  1. OPP ; Other Procedure Performed
  1. S GMI=0 F S GMI=$O(REC(130,GMN,130.16,GMI)) Q:GMI'>0 D
  1. . S GMTSTR=$G(REC(130,GMN,130.16,GMI,.01,"S")) S:GMTSTR="" GMTSTR=$G(REC(130,GMN,130.16,GMI,.01,"E")) S:$L(GMTSTR)>58 GMTSTR=$$WRAP^GMTSORC(GMTSTR,58)
  1. . F GMJ=1:1:$L(GMTSTR,"|") D Q:$D(GMTSQIT)
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . . W ?$S(GMJ=1:21,1:22),$P(GMTSTR,"|",GMJ),!
  1. OPPM . ; Other Procedure Performed (Modifiers)
  1. . N GMM S GMM=0
  1. . F S GMM=$O(REC(130,GMN,130.16,GMI,130.164,GMM)) Q:+GMM=0 D
  1. . . S GMTSTR=$G(REC(130,GMN,130.16,GMI,130.164,GMM,.01,"S")) S:'$L(GMTSTR) GMTSTR=$G(REC(130,GMN,130.16,GMI,130.164,GMM,.01,"E")) S:$L(GMTSTR)>54 GMTSTR=$$WRAP^GMTSORC(GMTSTR,54)
  1. . . F GMJ=1:1:$L(GMTSTR,"|") D Q:$D(GMTSQIT)
  1. . . . D CKP^GMTSUP Q:$D(GMTSQIT) W ?$S(GMJ=1:25,1:26),$P(GMTSTR,"|",GMJ),!
  1. . Q:$D(GMTSQIT)
  1. Q:$D(GMTSQIT)
  1. IND ; Indications for Surgery
  1. I $G(REC(130,GMN,55,"S",0))>0 D Q:$D(GMTSQIT)
  1. . N GMI,GMC S (GMI,GMC)=0 F S GMI=$O(REC(130,GMN,55,"S",GMI)) Q:+GMI=0 D Q:$D(GMTSQIT)
  1. . . S GMC=+GMC+1 D CKP^GMTSUP Q:$D(GMTSQIT) W:GMC=1 "Indication for Proc:" W ?21,$G(REC(130,GMN,55,"S",GMI)),!
  1. FIND ; Findings
  1. I $G(REC(130,GMN,59,"S",0))>0 D Q:$D(GMTSQIT)
  1. . N GMI,GMC S (GMI,GMC)=0 F S GMI=$O(REC(130,GMN,59,"S",GMI)) Q:+GMI=0 D Q:$D(GMTSQIT)
  1. . . S GMC=+GMC+1 D CKP^GMTSUP Q:$D(GMTSQIT) W:GMC=1 " Operative Findings:" W ?21,$G(REC(130,GMN,59,"S",GMI)),!
  1. DICT ; Dictation
  1. I $O(REC(130,GMN,1.15,0))>0 D
  1. . N GMI D CKP^GMTSUP Q:$D(GMTSQIT) W "Surgeon's Dictation:",!
  1. . S GMI=0 F S GMI=$O(REC(130,GMN,1.15,GMI)) Q:+GMI=0 D Q:$D(GMTSQIT)
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT) W ?2,$G(REC(130,GMN,1.15,GMI)),!
  1. Q
  1. ;--------------------------------------------------------------------
  1. CHK() ; For selected procedures see if you have a match
  1. N GMTSI,GMTSF,GMTSC
  1. S GMTSC=$$GET1^DIQ(136,+($G(GMN)),.02,"I") Q:'$D(GMTSEG(GMTSEGN,81)) 1 ; p.106 $$GET1^DIQ call changed to file 136
  1. S GMTSF=0 F GMTSI=0:0 S GMTSI=$O(GMTSEG(GMTSEGN,81,GMTSI)) Q:'+GMTSI!GMTSF S:GMTSEG(GMTSEGN,81,GMTSI)=GMTSC GMTSF=1 Q:GMTSF
  1. Q GMTSF