- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/PHARMACY_BENEFITS_MANAGEMENT-PSU/PSUOPAM.m
r613 r623 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 1 PSUOPAM ;BIR/DAM - PSU PBM Outpatient AMIS Pharmacy Data Collection; March 2004 2 ;;4.0;PHARMACY BENEFITS MANAGEMENT;;MARCH, 2005 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 S PSUCO=$P($G(^TMP("PSOR",$J,PSURXIEN,"IB",0)),U,1) 23 I $G(PSUCO) S PSUCOPAY="Y" 24 I '$G(PSUCO) S PSUCOPAY="N" 25 Q 26 ; 27 EXP ;Expanded instructions: found in file (#52), multiple (#113), 28 ;sub-field (#.01) 29 ; 30 S PSUD1=0 31 F S PSUD1=$O(^TMP("PSOR",$J,PSURXIEN,"PI",PSUD1)) Q:PSUD1="" D 32 .I PSUD1=1 S PSUEXP=$E(^TMP("PSOR",$J,PSURXIEN,"PI",PSUD1,0),1,80) D 33 ..S PSUPI=$G(PSUEXP) 34 .I (PSUD1'=1),($L(PSUEXP)<80) D 35 ..S PSUEXP=$E(PSUEXP_" "_^TMP("PSOR",$J,PSURXIEN,"PI",PSUD1,0),1,80) 36 ..S PSUPI=$G(PSUEXP) 37 ; 38 Q 39 ; 40 DOSG ;Dosage data: found in file (#52), multiple (#113). There are 41 ;nine sub-fields to be pulled: #.01 through #8 42 ; 43 S PSUD1=0 44 F S PSUD1=$O(^TMP("PSOR",$J,PSURXIEN,"MI",PSUD1)) Q:PSUD1="" D 45 .I PSUD1'=1 S PSUMDFLG="M" ;Multidose flag 46 .I PSUD1=1 D ;Single dose/first Multidose data 47 ..S PSUAM=^TMP("PSOR",$J,PSURXIEN,"MI",PSUD1,0) 48 ..S PSUDSG=$P(PSUAM,U,1) ;Dosage Ordered 49 ..S PSUDISPU=$P(PSUAM,U,2) ;Dispense Units per Dose 50 ..S PSUNITS=$P($P(PSUAM,U,3),";",2) ;Units 51 ..S PSUNOUN=$P(PSUAM,U,4) ;Noun 52 ..S PSUDUR=$P(PSUAM,U,5) ;Duration 53 ..S PSUCONJ=$P(PSUAM,U,6) ;Conjunction 54 ..S PSUROUT=$P($P(PSUAM,U,7),";",2) ;Route 55 ..S PSUSCHED=$P(PSUAM,U,8) ;Schedule 56 ..S PSUVERB=$P(PSUAM,U,9) ;Verb 57 ; 58 Q 59 ; 60 MULTI ;Set variables for Multidose Medication Instructions 61 ;Called from PSUOP3 62 ; 63 S (PSUDSGMD,PSUDSPMD,PSUNITMD,PSUNMD)="" 64 S (PSURTMD,PSUSCHMD,PSUVRBMD)="" 65 ; 66 S PSUDSGMD=$P(PSUAMMD,U,1) ;Dosage Ordered 67 S PSUDSPMD=$P(PSUAMMD,U,2) ;Dispense Units per Dose 68 S PSUNITMD=$P($P(PSUAMMD,U,3),";",2) ;Units 69 S PSUNMD=$P(PSUAMMD,U,4) ;Noun 70 S PSUDURMD=$P(PSUAMMD,U,5) ;Duration 71 S PSUCONMD=$P(PSUAMMD,U,6) ;Conjunction 72 S PSURTMD=$P($P(PSUAMMD,U,7),";",2) ;Route 73 S PSUSCHMD=$P(PSUAMMD,U,8) ;Schedule 74 S PSUVRBMD=$P(PSUAMMD,U,9) ;Verb 75 ; 76 Q
Note:
See TracChangeset
for help on using the changeset viewer.