[613] | 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 | ;
|
---|