| [613] | 1 | PSO5241 ;BHAM ISC/SAB- encap II API to return pending Rx data ; 04/07/05 10:30 am | 
|---|
|  | 2 | ;;7.0;OUTPATIENT PHARMACY;**213**;DEC 1997 | 
|---|
|  | 3 | ;^PSDRUG supported by DBIA 221 | 
|---|
|  | 4 | ;^PS(50.7 supported by DBIA 2223 | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | PEN(DFN,LIST,IEN,PLACER) ; | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | ;DFN: Patient's IEN | 
|---|
|  | 9 | ;LIST: Subscript name used in ^TMP global [REQUIRED] | 
|---|
|  | 10 | ;IEN: Internal record number [optional] | 
|---|
|  | 11 | ;PLACER: Pointer to Orders file (#100) [optional] | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | Q:$G(DFN)']""  Q:$G(LIST)="" | 
|---|
|  | 14 | N DA,DR,PSOPOST,DIC,DIQ,ND,LK K ^TMP($J,LIST) | 
|---|
|  | 15 | S ^TMP($J,LIST,DFN,0)=0 | 
|---|
|  | 16 | I $G(IEN) D PROCESS G CLEAN | 
|---|
|  | 17 | I $G(PLACER)]"",'$G(IEN) S IEN=$O(^PS(52.41,"B",PLACER,0)) D  G CLEAN | 
|---|
|  | 18 | .I 'IEN S ^TMP($J,LIST,DFN,0)="-1^NO DATA FOUND" Q | 
|---|
|  | 19 | .D PROCESS | 
|---|
|  | 20 | F IEN=0:0 S IEN=$O(^PS(52.41,"P",DFN,IEN)) Q:'IEN  D PROCESS | 
|---|
|  | 21 | CLEAN I ^TMP($J,LIST,DFN,0)=0 S ^TMP($J,LIST,DFN,0)="-1^NO DATA FOUND" | 
|---|
|  | 22 | K DA,DR,DIC,PSOPOST,DIQ | 
|---|
|  | 23 | Q | 
|---|
|  | 24 | PROCESS ; | 
|---|
|  | 25 | Q:$P($G(^PS(52.41,IEN,0)),"^",3)="DC"  Q:$P($G(^PS(52.41,IEN,0)),"^",3)="DE" | 
|---|
|  | 26 | I DFN'=$P($G(^PS(52.41,IEN,0)),"^",2) S ^TMP($J,LIST,IEN,0)="-1^NO DATA FOUND (MISMATCHED PATIENT)" Q | 
|---|
|  | 27 | I $G(^PS(52.41,IEN,0))']"" S ^TMP($J,LIST,DFN,IEN,0)="-1^NO DATA FOUND" Q | 
|---|
|  | 28 | K PSOPOST S DIC=52.41,DA=IEN,DR=".01;2;8;9;11",DIQ="PSOPOST",DIQ(0)="IE" D EN^DIQ1 | 
|---|
|  | 29 | F DR=.01,2,8 D  I DR=8 D OI | 
|---|
|  | 30 | .I DR=.01 S ^TMP($J,LIST,DFN,"B",PSOPOST(52.41,DA,DR,"I"),IEN)="" | 
|---|
|  | 31 | .I PSOPOST(52.41,DA,DR,"E")'=PSOPOST(52.41,DA,DR,"I") S ^TMP($J,LIST,DFN,IEN,DR)=PSOPOST(52.41,DA,DR,"I")_"^"_PSOPOST(52.41,DA,DR,"E") Q | 
|---|
|  | 32 | .S ^TMP($J,LIST,DFN,IEN,DR)=PSOPOST(52.41,DA,DR,"I") | 
|---|
|  | 33 | S DR=11 D | 
|---|
|  | 34 | .I PSOPOST(52.41,IEN,DR,"E")'=PSOPOST(52.41,IEN,DR,"I") S ^TMP($J,LIST,DFN,IEN,DR)=PSOPOST(52.41,IEN,DR,"I")_"^"_PSOPOST(52.41,IEN,DR,"E") Q | 
|---|
|  | 35 | .S ^TMP($J,LIST,DFN,IEN,DR)=PSOPOST(52.41,IEN,DR,"I") | 
|---|
|  | 36 | S ^TMP($J,LIST,DFN,0)=^TMP($J,LIST,DFN,0)+1 | 
|---|
|  | 37 | K DA,DR,PSOPOST,DIC,DIQ | 
|---|
|  | 38 | Q | 
|---|
|  | 39 | OI ;orderable item | 
|---|
|  | 40 | S DIC=50.7,DA=PSOPOST(52.41,DA,DR,"I"),DR=.02,DIQ(0)="IE" D EN^DIQ1 | 
|---|
|  | 41 | S ^TMP($J,LIST,DFN,IEN,8)=^TMP($J,LIST,DFN,IEN,8)_"^"_PSOPOST(50.7,DA,DR,"I")_"^"_PSOPOST(50.7,DA,DR,"E") | 
|---|
|  | 42 | Q | 
|---|