| 1 | PSX550 ;BIR/DB - API for file 550 ;24 Feb 2006 | 
|---|
| 2 | ;;2.0;CMOP;**61**;11 Apr 97;Build 1 | 
|---|
| 3 | PSX(PSXIEN,PSXTXT,LIST) ; | 
|---|
| 4 | ;PSXIEN -CMOP system internal entry number (optional) | 
|---|
| 5 | ;PSXTXT - Free Text CMOP system name (optional) | 
|---|
| 6 | ;LIST: Subscript name used in ^TMP global [REQUIRED] | 
|---|
| 7 | I $G(PSXIEN)="",$G(PSXTXT)="" Q | 
|---|
| 8 | I $G(LIST)="" Q | 
|---|
| 9 | K ^TMP($J,LIST),DA,^UTILITY("DIQ1",$J),DIQ | 
|---|
| 10 | I $G(PSXIEN)]"" S DA=PSXIEN I '$D(^PSX(550,DA,0)) G RET0 | 
|---|
| 11 | I $G(PSXTXT)'="",$G(PSXIEN)'>0,'$D(^PSX(550,"B",PSXTXT)) G RET0 | 
|---|
| 12 | I $G(PSXTXT)'="",$G(DA)'>0 S DA=$O(^PSX(550,"B",PSXTXT,0)) | 
|---|
| 13 | K ^UTILITY("DIQ1",$J),DIC S DIC=550,DR=".01;1",DIQ(0)="IE" D EN^DIQ1 | 
|---|
| 14 | I '$D(^UTILITY("DIQ1",$J)) G RET0 | 
|---|
| 15 | S:$G(PSXTXT)="" PSXTXT=^UTILITY("DIQ1",$J,550,DA,.01,"E") | 
|---|
| 16 | S ^TMP($J,LIST,1)=$G(^UTILITY("DIQ1",$J,550,DA,1,"I")) | 
|---|
| 17 | S ^TMP($J,LIST,1)=$S($G(^UTILITY("DIQ1",$J,550,DA,1,"E"))'="":^TMP($J,LIST,1)_"^"_$G(^UTILITY("DIQ1",$J,550,DA,1,"E")),1:"") | 
|---|
| 18 | S ^TMP($J,LIST,"B",PSXTXT,DA)="" | 
|---|
| 19 | Q | 
|---|
| 20 | K PSXIEN,DA,X,PSXTXT,DR,DIC Q | 
|---|
| 21 | RET0 ;return no data | 
|---|
| 22 | S ^TMP($J,LIST,0)="-1^NO DATA FOUND" Q | 
|---|
| 23 | Q | 
|---|