| 1 | PSUOPAM ;BIR/DAM - PSU PBM Outpatient AMIS Pharmacy Data Collection; March 2004 ; 1/11/08 11:46am
 | 
|---|
| 2 |  ;;4.0;PHARMACY BENEFITS MANAGEMENT;**13**;MARCH, 2005;Build 3
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;DBIA's
 | 
|---|
| 5 |  ;Reference to File (#52)     supported by DBIA 1878
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 | EN ;entry point to gather additional AMIS data.  Called from PSUOP2
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  K PSUAM      ;Array to hold single dose Medication Instructions
 | 
|---|
| 10 |  K PSUAMMD    ;Array to hold multidose medication instructions
 | 
|---|
| 11 |  K PSUMDFLG   ;Multidose flag
 | 
|---|
| 12 |  S (PSUPI,PSUCO,PSUEXP,PSUAM,PSUDSG,PSUDIPU,PSUNITS,PSUNOUN)=""
 | 
|---|
| 13 |  S (PSUDUR,PSUCONJ,PSUROUT,PSUSCHED,PSUVERB)=""
 | 
|---|
| 14 |  D CO
 | 
|---|
| 15 |  D EXP
 | 
|---|
| 16 |  D DOSG
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | CO ;Copay status: found in file (#52), field (#105)
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  ;PSU*4*13 Corrected to show the COPAY.
 | 
|---|
| 23 |  S PSUCO=$P($G(^TMP("PSOR",$J,PSURXIEN,"IB")),U,1)
 | 
|---|
| 24 |  I $G(PSUCO) S PSUCOPAY="Y"
 | 
|---|
| 25 |  I '$G(PSUCO) S PSUCOPAY="N"
 | 
|---|
| 26 |  Q
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 | EXP ;Expanded instructions: found in file (#52), multiple (#113),
 | 
|---|
| 29 |  ;sub-field (#.01)
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  S PSUD1=0
 | 
|---|
| 32 |  F  S PSUD1=$O(^TMP("PSOR",$J,PSURXIEN,"PI",PSUD1)) Q:PSUD1=""  D
 | 
|---|
| 33 |  .I PSUD1=1 S PSUEXP=$E(^TMP("PSOR",$J,PSURXIEN,"PI",PSUD1,0),1,80) D
 | 
|---|
| 34 |  ..S PSUPI=$G(PSUEXP)
 | 
|---|
| 35 |  .I (PSUD1'=1),($L(PSUEXP)<80) D
 | 
|---|
| 36 |  ..S PSUEXP=$E(PSUEXP_" "_^TMP("PSOR",$J,PSURXIEN,"PI",PSUD1,0),1,80)
 | 
|---|
| 37 |  ..S PSUPI=$G(PSUEXP)
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | DOSG ;Dosage data: found in file (#52), multiple (#113).  There are 
 | 
|---|
| 42 |  ;nine sub-fields to be pulled: #.01 through #8
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  S PSUD1=0
 | 
|---|
| 45 |  F  S PSUD1=$O(^TMP("PSOR",$J,PSURXIEN,"MI",PSUD1)) Q:PSUD1=""  D
 | 
|---|
| 46 |  .I PSUD1'=1 S PSUMDFLG="M"       ;Multidose flag
 | 
|---|
| 47 |  .I PSUD1=1 D                     ;Single dose/first Multidose data
 | 
|---|
| 48 |  ..S PSUAM=^TMP("PSOR",$J,PSURXIEN,"MI",PSUD1,0)
 | 
|---|
| 49 |  ..S PSUDSG=$P(PSUAM,U,1)             ;Dosage Ordered
 | 
|---|
| 50 |  ..S PSUDISPU=$P(PSUAM,U,2)           ;Dispense Units per Dose
 | 
|---|
| 51 |  ..S PSUNITS=$P($P(PSUAM,U,3),";",2)  ;Units
 | 
|---|
| 52 |  ..S PSUNOUN=$P(PSUAM,U,4)            ;Noun
 | 
|---|
| 53 |  ..S PSUDUR=$P(PSUAM,U,5)             ;Duration
 | 
|---|
| 54 |  ..S PSUCONJ=$P(PSUAM,U,6)            ;Conjunction
 | 
|---|
| 55 |  ..S PSUROUT=$P($P(PSUAM,U,7),";",2)  ;Route
 | 
|---|
| 56 |  ..S PSUSCHED=$P(PSUAM,U,8)           ;Schedule
 | 
|---|
| 57 |  ..S PSUVERB=$P(PSUAM,U,9)            ;Verb
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | MULTI ;Set variables for Multidose Medication Instructions
 | 
|---|
| 62 |  ;Called from PSUOP3
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 |  S (PSUDSGMD,PSUDSPMD,PSUNITMD,PSUNMD)=""
 | 
|---|
| 65 |  S (PSURTMD,PSUSCHMD,PSUVRBMD)=""
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 |  S PSUDSGMD=$P(PSUAMMD,U,1)            ;Dosage Ordered
 | 
|---|
| 68 |  S PSUDSPMD=$P(PSUAMMD,U,2)            ;Dispense Units per Dose
 | 
|---|
| 69 |  S PSUNITMD=$P($P(PSUAMMD,U,3),";",2)  ;Units
 | 
|---|
| 70 |  S PSUNMD=$P(PSUAMMD,U,4)              ;Noun
 | 
|---|
| 71 |  S PSUDURMD=$P(PSUAMMD,U,5)            ;Duration
 | 
|---|
| 72 |  S PSUCONMD=$P(PSUAMMD,U,6)            ;Conjunction
 | 
|---|
| 73 |  S PSURTMD=$P($P(PSUAMMD,U,7),";",2)   ;Route
 | 
|---|
| 74 |  S PSUSCHMD=$P(PSUAMMD,U,8)            ;Schedule
 | 
|---|
| 75 |  S PSUVRBMD=$P(PSUAMMD,U,9)            ;Verb
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 |  Q
 | 
|---|