1 | PSO52AP1 ;BHM/SAB - Encapsulation II API to return Rx data ;04/07/05 10:30 am
|
---|
2 | ;;7.0;OUTPATIENT PHARMACY;**213,245**;DEC 1997;Build 20
|
---|
3 | ;
|
---|
4 | ;Reference to ^PS(55 supported by DBIA 2228
|
---|
5 | ;Reference to ^PSDRUG supported by DBIA 221
|
---|
6 | ;
|
---|
7 | ;Rx profile called from PROF^PSO52API
|
---|
8 | ;DFN: Patient's IEN
|
---|
9 | ;LIST: Subscript name used in ^TMP global [REQUIRED]
|
---|
10 | ;SDATE: Starting Expiration Date [optional]
|
---|
11 | ;EDATE: Ending Expiration Date [optional]
|
---|
12 | ;
|
---|
13 | Q:$G(LIST)=""
|
---|
14 | N DA,DR,PST,DIC,DIQ,DATE,IEN K ^TMP($J,LIST)
|
---|
15 | Q:'$G(DFN)
|
---|
16 | I '$O(^PS(55,DFN,"P",0)),$O(^PS(55,DFN,"ARC",0)) S ^TMP($J,LIST,DFN,"ARC",0)="PATIENT HAS ARCHIVED PRESCRIPTIONS"
|
---|
17 | I $G(SDATE) S DATE=SDATE-1 D G EX
|
---|
18 | .I $G(EDATE) F S DATE=$O(^PS(55,DFN,"P","A",DATE)) Q:'DATE!(DATE>EDATE) F IEN=0:0 S IEN=$O(^PS(55,DFN,"P","A",DATE,IEN)) Q:'IEN D ND
|
---|
19 | .I '$G(EDATE) F S DATE=$O(^PS(55,DFN,"P","A",DATE)) Q:'DATE F IEN=0:0 S IEN=$O(^PS(55,DFN,"P","A",DATE,IEN)) Q:'IEN D ND
|
---|
20 | I $G(EDATE),'$G(SDATE) S DATE=DT-1 D G EX
|
---|
21 | .F S DATE=$O(^PS(55,DFN,"P","A",DATE)) Q:'DATE!(DATE>EDATE) F IEN=0:0 S IEN=$O(^PS(55,DFN,"P","A",DATE,IEN)) Q:'IEN D ND
|
---|
22 | S DATE=DT-1 F S DATE=$O(^PS(55,DFN,"P","A",DATE)) Q:'DATE F IEN=0:0 S IEN=$O(^PS(55,DFN,"P","A",DATE,IEN)) Q:'IEN D ND
|
---|
23 | EX I $G(DFN),$G(LIST)]"",'$O(^TMP($J,LIST,DFN,0)) S ^TMP($J,LIST,DFN,0)="-1^NO PRESCRIPTION DATA FOUND"
|
---|
24 | Q
|
---|
25 | ND ;returns data
|
---|
26 | I DFN'=$P($G(^PSRX(IEN,0)),"^",2) Q
|
---|
27 | I $G(^PSRX(IEN,0))']"" Q
|
---|
28 | Q:$P($G(^PSRX(IEN,"STA")),"^")=13
|
---|
29 | S ^TMP($J,LIST,DFN,0)=$G(^TMP($J,LIST,DFN,0))+1
|
---|
30 | I DT>$P(^PSRX(IEN,2),"^",6),$P(^PSRX(IEN,"STA"),"^")<11 D
|
---|
31 | .N PSOEXRX,PSOEXSTA,ORN,PIFN,PSUSD,PRFDT,PDA,PSDTEST
|
---|
32 | .S PSOEXRX=IEN D EN2^PSOMAUEX K PSOEXRX,PSONM,PSONMX
|
---|
33 | K PST S DIC=52,DA=IEN,DR=".01:9;10.3;10.6;11;16;17;100"
|
---|
34 | S DIQ="PST",DIQ(0)="IE" D EN^DIQ1
|
---|
35 | S ^TMP($J,LIST,"B",PST(52,DA,.01,"E"),IEN)=""
|
---|
36 | F DR=.01,1,2,3,4,5,6,6.5,7,8,9,10.3,10.6,11,16,17,100 D
|
---|
37 | .I PST(52,DA,DR,"E")'=PST(52,DA,DR,"I") S ^TMP($J,LIST,DFN,IEN,DR)=PST(52,DA,DR,"I")_"^"_PST(52,DA,DR,"E") Q
|
---|
38 | .S ^TMP($J,LIST,DFN,IEN,DR)=PST(52,DA,DR,"I")
|
---|
39 | S $P(^TMP($J,LIST,DFN,IEN,.01),U,2)=IEN
|
---|
40 | K DA,DR,PST,DIC,DIQ
|
---|
41 | Q
|
---|