Index: /quality/tags/mu/PRD/VW-BMI-PERCENTILE.PRD
===================================================================
--- /quality/tags/mu/PRD/VW-BMI-PERCENTILE.PRD	(revision 1494)
+++ /quality/tags/mu/PRD/VW-BMI-PERCENTILE.PRD	(revision 1494)
@@ -0,0 +1,166 @@
+<?xml version="1.0" standalone="yes"?>
+<REMINDER_EXCHANGE_FILE_ENTRY>
+<PACKAGE_VERSION>2.0P17</PACKAGE_VERSION>
+<INDEX_AT>151</INDEX_AT>
+<SOURCE>
+<NAME>VW-BMI-PERCENTILE</NAME>
+<USER>HABIEL,SAM</USER>
+<SITE>VOE OFFICE INSTITUTION</SITE>
+<DATE_PACKED>07/20/2012@16:15:11</DATE_PACKED>
+</SOURCE>
+<DESCRIPTION><![CDATA[
+The VW-BMI-PERCENTILE computed finding calculates the patient's body mass
+index percentile. The value returned, which can be used in the CONDITION
+field of the findings, is the body mass index percentile. It only works 
+for patients who are 18 years of age or less. Patients over 18 get a 
+result of "Not Found", even if a BMI can be calculated.
+ 
+An example of using the VW-BMI-PERCENTILE computed finding:
+ 1)  Create a finding in a reminder that is the VW-BMI-PERCENTILE computed
+finding; 
+ 2)  Add logic in the CONDITION field to check for a particular BMI
+Percentile value: "I V>25"; 
+ 3)  This finding will be evaluated to true for patients with a BMI 
+percentile that is greater than 25.
+ 
+This is a multi-occurrence computed finding.
+]]></DESCRIPTION>
+<KEYWORDS>
+<KEYWORD>BMI</KEYWORD>
+<KEYWORD>PERCENTILE</KEYWORD>
+<KEYWORD>COMPUTED</KEYWORD>
+<KEYWORD>FINDING</KEYWORD>
+</KEYWORDS>
+<M_ROUTINE>
+<ROUTINE_NAME>C0QRMBMI</ROUTINE_NAME>
+<CHECKSUM>961533736</CHECKSUM>
+<CODE>
+<![CDATA[
+C0QRMBMI ; VEN/SMH - BMI Percentile and BSA computed finding; 7/20/12 4:00pm
+ ;;1.0;QUALITY MEASURES;**1**;
+ ;
+ ; VEN/SMH - on July 16 2012
+ ; Added PBMI as a new Computed Finding -- essentially the same as BMI
+ ; PBMI = Percentile BMI;
+ ;
+ ; PEPs: PBMI
+ ; 
+PBMI(DFN,NGET,BDT,EDT,NFOUND,TEST,DATE,DATA,TEXT) ; Multi-occurrence computed
+ ; finding for BMI percentile; PEP
+ ; Input Variables: Follows Reminders API.
+ ; Additional Input Variables from ST: PXRMDOB, PXRMSEX
+ ; Output Variables: Follows Reminders API.
+ ;
+ ; Get BMIs from Standard Reminders Call (added in Patch 12)
+ D BMI^PXRMBMI(DFN,NGET,BDT,EDT,.NFOUND,.TEST,.DATE,.DATA,.TEXT) ; BMI call
+ ;
+ ; Walk through BMI results
+ N IND ; Index
+ F IND=1:1:NFOUND D  Q:'NFOUND  ; If NFOUND is zero'ed, quit.
+ . ;
+ . ; S TEST(IND)=1,DATE(IND)=TDATE ; The same; won't set here.
+ . ; S TEXT(IND)="height measured "_$$EDATE^PXRMDATE(HDATE) ; the same
+ . N BMI S BMI=DATA(IND,"VALUE") ; Get BMI
+ . N PBMI ; BMI Percentile
+ . ; We use PXRMDATE API to grab the Reminders Date Due, not today's date.
+ . N AGE S AGE=$$FMDIFF^XLFDT($$NOW^PXRMDATE(),PXRMDOB,1)/365.24 ; Age in yrs
+ . ;
+ . ; If the ep exists, call it, otherwise, mark as not found.
+ . I $T(BMIPCTL^TMGGRC1)]"" S PBMI=$$BMIPCTL^TMGGRC1(AGE,PXRMSEX,BMI,1)
+ . E  S NFOUND=0 QUIT
+ . ;
+ . ; Also, if N/A (patient above 18 yo) - mark as not found.
+ . I PBMI["N/A" S NFOUND=0 QUIT  ; Not available for anybody above 18 yo.
+ . ;
+ . ; We get a textish result (e.g. 78th percentile); convert to number
+ . S PBMI=+PBMI
+ . ;
+ . ; Set return values (NB: BMI subscript is still there)
+ . S (DATA(IND,"VALUE"),DATA(IND,"BMI%ILE"))=PBMI
+ QUIT
+ ;
+TPBMI(DFN) ; Test PBMI; Pass DFN by Value; Private, for testing only
+ N NFOUND,TEST,DATE,DATA,TEXT
+ N PXRMSEX S PXRMSEX=$P(^DPT(DFN,0),U,2)
+ N PXRMDOB S PXRMDOB=$P(^DPT(DFN,0),U,3)
+ N PXRMAGE S PXRMAGE=$$GET1^DIQ(2,DFN,"AGE")
+ D PBMI^C0QRMBMI(DFN,99,3000000,$$DT^XLFDT(),.NFOUND,.TEST,.DATE,.DATA,.TEXT)
+ I 'NFOUND W "No results found! for DFN "_DFN,!! QUIT
+ ;
+ W "Patient: DFN: "_DFN_"; "_PXRMAGE_" yo; "_PXRMSEX,!
+ ;
+ N I F I=1:1:NFOUND D
+ . W "NFOUND: "_NFOUND,!
+ . W "TEST: "_TEST(I),!
+ . W "DATE: "_DATE(I),!
+ . W "TEXT: "_TEXT(I),!
+ . W "DATA VALUE: "_DATA(I,"VALUE"),!
+ . W "DATA BMI%ILE: "_DATA(I,"BMI%ILE"),!
+ . W "DATA BMI: "_DATA(I,"BMI"),!
+ . W !
+ QUIT
+ ;
+ ; Private below as well.
+TEST N DFN S DFN=0 F  S DFN=$O(^DPT(DFN)) Q:'DFN  D TPBMI(DFN)  ; One liner test
+ QUIT
+]]>
+</CODE>
+</M_ROUTINE>
+<FILEMAN_FILE>
+<FILE_NAME>REMINDER COMPUTED FINDINGS</FILE_NAME>
+<FILE_NUMBER>811.4</FILE_NUMBER>
+<POINT_01>VW-BMI-PERCENTILE</POINT_01>
+<INTERNAL_ENTRY_NUMBER>93</INTERNAL_ENTRY_NUMBER>
+<CHECKSUM>1440960318</CHECKSUM>
+<SELECTED>YES</SELECTED>
+<FILEMAN_FDA>
+<![CDATA[
+811.4;+93,;.01~VW-BMI-PERCENTILE
+811.4;+93,;.02~C0QRMBMI
+811.4;+93,;.03~PBMI
+811.4;+93,;.04~Body Mass Index Percentile
+811.4;+93,;1~WP-start~15
+The VW-BMI-PERCENTILE computed finding calculates the patient's body mass
+index percentile. The value returned, which can be used in the CONDITION
+field of the findings, is the body mass index percentile. It only works 
+for patients who are 18 years of age or less. Patients over 18 get a 
+result of "Not Found", even if a BMI can be calculated.
+ 
+An example of using the VW-BMI-PERCENTILE computed finding:
+ 1)  Create a finding in a reminder that is the VW-BMI-PERCENTILE computed
+finding; 
+ 2)  Add logic in the CONDITION field to check for a particular BMI
+Percentile value: "I V>25"; 
+ 3)  This finding will be evaluated to true for patients with a BMI 
+percentile that is greater than 25.
+ 
+This is a multi-occurrence computed finding.
+811.4;+93,;5~MULTIPLE
+811.4;+93,;100~LOCAL
+811.42;+94,+93,;.01~07/20/2012@16:15:32
+811.42;+94,+93,;2~WP-start~1
+Exchange Stub
+]]>
+</FILEMAN_FDA>
+<IEN_ROOT>
+<![CDATA[
+94^1
+]]>
+</IEN_ROOT>
+</FILEMAN_FILE>
+<INDEX>
+<NUMBER_OF_COMPONENTS>2</NUMBER_OF_COMPONENTS>
+<COMPONENT>
+<M_ROUTINE_START>34</M_ROUTINE_START>
+<ROUTINE_CODE_END>105</ROUTINE_CODE_END>
+<ROUTINE_CODE_START>39</ROUTINE_CODE_START>
+</COMPONENT>
+<COMPONENT>
+<FDA_END>142</FDA_END>
+<FDA_START>118</FDA_START>
+<FILE_START>109</FILE_START>
+<IEN_ROOT_END>147</IEN_ROOT_END>
+<IEN_ROOT_START>147</IEN_ROOT_START>
+</COMPONENT>
+</INDEX>
+</REMINDER_EXCHANGE_FILE_ENTRY>
