| 1 | GMTSROB ; SLC/JER,KER - Surgery Reports Brief ; 06/24/2002 | 
|---|
| 2 | ;;2.7;Health Summary;**9,11,28,57**;Oct 20, 1995 | 
|---|
| 3 | ; | 
|---|
| 4 | ; External References | 
|---|
| 5 | ;   DBIA   2491  ^SRF("B") | 
|---|
| 6 | ;   DBIA   2491  ^SRF(  file #130 | 
|---|
| 7 | ;   DBIA  10011  ^DIWP | 
|---|
| 8 | ;   DBIA   2056  $$GET1^DIQ  (file #130) | 
|---|
| 9 | ; | 
|---|
| 10 | ENSR ; Entry point for component | 
|---|
| 11 | N MAX,GMCOUNT,GMIDT,GMN,SURG Q:'$D(^SRF("B",DFN)) | 
|---|
| 12 | S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:999) | 
|---|
| 13 | S GMN=0 F  S GMN=$O(^SRF("B",DFN,GMN)) Q:GMN'>0  D SORT | 
|---|
| 14 | I '$D(SURG) Q | 
|---|
| 15 | S (GMCOUNT,GMIDT)=0 F  S GMIDT=$O(SURG(GMIDT)) Q:GMIDT'>0!(GMCOUNT'<MAX)  S GMN=SURG(GMIDT) D WRT | 
|---|
| 16 | Q | 
|---|
| 17 | SORT ; Sort surgeries by inverted date | 
|---|
| 18 | N GMDT S GMDT=$$GET1^DIQ(130,(+(GMN)_","),.09,"I") | 
|---|
| 19 | I GMDT>GMTSBEG&(GMDT<GMTSEND) D | 
|---|
| 20 | . F  Q:'$D(SURG(9999999-GMDT))  S GMDT=GMDT+.0001 | 
|---|
| 21 | . S SURG(9999999-GMDT)=GMN | 
|---|
| 22 | Q | 
|---|
| 23 | WRT ; Write surgical case record | 
|---|
| 24 | N X,GMI,GMDT,STATUS K ^UTILITY($J,"W") | 
|---|
| 25 | S GMCOUNT=GMCOUNT+1 | 
|---|
| 26 | ;   Date of Operation | 
|---|
| 27 | S X=$$GET1^DIQ(130,(+(GMN)_","),.09,"I") D REGDT4^GMTSU S GMDT=X | 
|---|
| 28 | D CKP^GMTSUP Q:$D(GMTSQIT)  W GMDT | 
|---|
| 29 | D STATUS S:'$D(STATUS) STATUS="UNKNOWN" | 
|---|
| 30 | ;   Principle Procedure | 
|---|
| 31 | S X=$$GET1^DIQ(130,(+(GMN)_","),26,"I") D FORMAT | 
|---|
| 32 | D CKP^GMTSUP Q:$D(GMTSQIT)  W:$D(^UTILITY($J,"W",1,1,0)) ?21,^(0) W ?61,STATUS,! | 
|---|
| 33 | S GMI=1 F  S GMI=$O(^UTILITY($J,"W",1,GMI)) Q:GMI'>0  D CKP^GMTSUP Q:$D(GMTSQIT)  W ?21,^UTILITY($J,"W",1,GMI,0),! | 
|---|
| 34 | K ^UTILITY($J,"W") | 
|---|
| 35 | ;   Other Procedures | 
|---|
| 36 | S GMI=0 F  S GMI=$O(^SRF(GMN,13,GMI)) Q:GMI'>0  D CKP^GMTSUP Q:$D(GMTSQIT)  D | 
|---|
| 37 | . S X(GMI)=$$GET1^DIQ(130.16,(+GMI_","_+(GMN)_","),.01,"I") | 
|---|
| 38 | . W ?21,X(GMI),! | 
|---|
| 39 | Q | 
|---|
| 40 | STATUS ; case status | 
|---|
| 41 | I $$GET1^DIQ(130,(+(GMN)_","),118,"I")="Y" D NONORST Q | 
|---|
| 42 | I $D(^SRF(GMN,30)) S STATUS=$S(+($$GET1^DIQ(130,(+(GMN)_","),.205,"I")):"(ABORTED)",1:"CANCELLED") Q | 
|---|
| 43 | I +($$GET1^DIQ(130,(+(GMN)_","),.23,"I")) S STATUS="(COMPLETED)" Q | 
|---|
| 44 | I +($$GET1^DIQ(130,(+(GMN)_","),.22,"I")),'+($$GET1^DIQ(130,(+(GMN)_","),.23,"I")) S STATUS="INCOMPLETE" Q | 
|---|
| 45 | I +($$GET1^DIQ(130,(+(GMN)_","),10,"I")) S STATUS="SCHEDULED" Q | 
|---|
| 46 | I +($$GET1^DIQ(130,(+(GMN)_","),36,"I")),'+($$GET1^DIQ(130,(+(GMN)_","),.22,"I")) S STATUS="REQUESTED" | 
|---|
| 47 | Q | 
|---|
| 48 | FORMAT ; format surgery name | 
|---|
| 49 | N DIWF,DIWL,DIWR | 
|---|
| 50 | S DIWF="C35R",DIWL=1,DIWR=36 D ^DIWP | 
|---|
| 51 | Q | 
|---|
| 52 | NONORST ;Obtains status for NON-OR procedures. | 
|---|
| 53 | S STATUS="UNKNOWN" | 
|---|
| 54 | I +($$GET1^DIQ(130,(+(GMN)_","),122,"I")) S STATUS="(COMPLETED)" Q | 
|---|
| 55 | I +($$GET1^DIQ(130,(+(GMN)_","),121,"I")),'+($$GET1^DIQ(130,(+(GMN)_","),122,"I")) S STATUS="INCOMPLETE" Q | 
|---|
| 56 | Q | 
|---|