| 1 | MDRPCOD ; HOIFO/DP - Object RPCs (TMDProcedureDef) ; [01-09-2003 15:20]
 | 
|---|
| 2 |  ;;1.0;CLINICAL PROCEDURES;;Apr 01, 2004
 | 
|---|
| 3 |  ; Integration Agreements:
 | 
|---|
| 4 |  ; IA# 3468 [Subscription] Consult APIs.
 | 
|---|
| 5 | ADDINST ; [Procedure] Add instrument to the list
 | 
|---|
| 6 |  D:'$D(^MDS(702.01,MDPROC,.1,"B",DATA))
 | 
|---|
| 7 |  .S MDFDA(702.011,"+1,"_MDPROC_",",.01)=DATA
 | 
|---|
| 8 |  .D UPDATE^DIE("","MDFDA")
 | 
|---|
| 9 |  S @RESULTS@(0)="1^Updated"
 | 
|---|
| 10 |  Q
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 | CONLIST ; [Procedure] Returns list of Consult Procedures linked to CP Def
 | 
|---|
| 13 |  D CPLINKS^GMRCCP(.MDRET,MDPROC)
 | 
|---|
| 14 |  F X=0:0 S X=$O(MDRET(X)) Q:'X  D
 | 
|---|
| 15 |  .S ^TMP($J,X)=$P(MDRET(X),U,1)_"  Consults IEN: "_$P(MDRET(X),U,2)
 | 
|---|
| 16 |  S @RESULTS@(0)=+$O(@RESULTS@(""),-1)
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | CONSYN ; [Procedure] Returns 0/1 for linked to Consults
 | 
|---|
| 20 |  S @RESULTS@(0)=+$$CPLINK^GMRCCP(MDPROC)
 | 
|---|
| 21 |  Q
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 | DELINST ; [Procedure] Delete instrument from procedure
 | 
|---|
| 24 |  S X=$O(^MDS(702.01,MDPROC,.1,"B",DATA,0)) D:X
 | 
|---|
| 25 |  .S MDFDA(702.011,X_","_MDPROC_",",.01)=""
 | 
|---|
| 26 |  .D FILE^DIE("","MDFDA")
 | 
|---|
| 27 |  S @RESULTS@(0)="1^Updated"
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 | GETINST ; [Procedure] Return all instruments and IEN if assigned
 | 
|---|
| 31 |  F X=0:0 S X=$O(^MDS(702.09,X)) Q:'X  D
 | 
|---|
| 32 |  .S Y=$O(@RESULTS@(""),-1)+1
 | 
|---|
| 33 |  .S @RESULTS@(Y)="702.09;"_X_U_$P(^MDS(702.09,X,0),U)_U_($D(^MDS(702.01,MDPROC,.1,"B",X))>0)
 | 
|---|
| 34 |  S @RESULTS@(0)=$O(@RESULTS@(""),-1)
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | GETPROC ; [Procedure] Get procedure list
 | 
|---|
| 38 |  I MDPROC D  Q
 | 
|---|
| 39 |  .F X=0:0 S X=$O(^MDS(702.01,"ASPEC",MDPROC,X)) Q:'X  D
 | 
|---|
| 40 |  ..S Y="702.01;"_X_U_^MDS(702.01,X,0)
 | 
|---|
| 41 |  ..S @RESULTS@(+$O(@RESULTS@(""),-1)+1)=Y
 | 
|---|
| 42 |  .S @RESULTS@(0)=+$O(@RESULTS@(""),-1)
 | 
|---|
| 43 |  F X=0:0 S X=$O(^MDS(702.01,X)) Q:'X  D:'$P(^MDS(702.01,X,0),U,2)
 | 
|---|
| 44 |  .S Y="702.01;"_X_U_^MDS(702.01,X,0)
 | 
|---|
| 45 |  .S @RESULTS@(+$O(@RESULTS@(""),-1)+1)=Y
 | 
|---|
| 46 |  S @RESULTS@(0)=+$O(@RESULTS@(""),-1)
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | GETSPEC ; [Procedure] Return all/active specialties (Default = ACTIVE)
 | 
|---|
| 50 |  S MDPROC=$G(MDPROC,"ACTIVE")
 | 
|---|
| 51 |  D:MDPROC="ACTIVE"
 | 
|---|
| 52 |  .F X=0:0 S X=$O(^MDS(702.01,"ASPEC",X)) Q:'X  D
 | 
|---|
| 53 |  ..S Y=$O(^TMP($J,""),-1)+1
 | 
|---|
| 54 |  ..S @RESULTS@(Y)="45.7;"_X_U_$$GET1^DIQ(45.7,X_",",.01)_U_$D(^MDS(702.01,"ASPEC",X))
 | 
|---|
| 55 |  D:MDPROC="ALL"
 | 
|---|
| 56 |  .D LIST^DIC(45.7,,,"P")
 | 
|---|
| 57 |  .F X=0:0 S X=$O(^TMP("DILIST",$J,X)) Q:'X  D
 | 
|---|
| 58 |  ..S @RESULTS@(X)="45.7;"_^TMP("DILIST",$J,X,0)
 | 
|---|
| 59 |  ..S $P(@RESULTS@(X),U,3)=$D(^MDS(702.01,"ASPEC",+^TMP("DILIST",$J,X,0)))
 | 
|---|
| 60 |  .S Y=$O(@RESULTS@(""),-1)+1
 | 
|---|
| 61 |  .S @RESULTS@(Y)="45.7;^Unassigned^1"
 | 
|---|
| 62 |  S Y=$O(@RESULTS@(""),-1)+1
 | 
|---|
| 63 |  S @RESULTS@(0)=Y_"^SPECIALTY"
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | LINK(MDPROC) ; [Procedure] Check if CP Procedure Link to Consult
 | 
|---|
| 67 |  I '$G(MDPROC) Q "-1^No Procedure Internal Entry Number"
 | 
|---|
| 68 |  Q $$CPLINK^GMRCCP(MDPROC)
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 | LINKS(RESULTS,MDPROC) ; [Procedure] Get list of Consults Procedure names linked to a CP
 | 
|---|
| 71 |  I '$G(MDPROC) S RESULTS(1)="-1^No Procedure Internal Entry Number" Q
 | 
|---|
| 72 |  D CPLINKS^GMRCCP(.RESULTS,MDPROC)
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | RPC(RESULTS,OPTION,MDPROC,DATA) ; [Procedure] Main RPC Call
 | 
|---|
| 76 |  N MDX,MDENT,MDINST,MDRET,MDFDA
 | 
|---|
| 77 |  S RESULTS=$NA(^TMP($J)) K @RESULTS
 | 
|---|
| 78 |  I $T(@OPTION)]"" D @OPTION
 | 
|---|
| 79 |  D:'$D(@RESULTS) BADRPC^MDRPCU("MD TMDPROCEDURE","MDRPCOD",OPTION)
 | 
|---|
| 80 |  D CLEAN^DILF
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|