David Saylor commited on
Commit ·
6587a4e
1
Parent(s): eb61edf
added impurity eval back in
Browse files- CHRISv1.py +11 -1
- templates/index.html +8 -1
- templates/report.html +21 -7
CHRISv1.py
CHANGED
|
@@ -78,18 +78,23 @@ def app_post():
|
|
| 78 |
caIndex = (np.where(CAs==CA)[0])[0]
|
| 79 |
|
| 80 |
TI = caData[caIndex][1]
|
|
|
|
|
|
|
| 81 |
if caIndex<11:
|
| 82 |
isCA = True
|
| 83 |
MW = caData[caIndex][2]
|
| 84 |
chemName = caData[caIndex][0].decode('UTF-8')
|
|
|
|
| 85 |
if caIndex == 11:
|
| 86 |
isCA = True
|
| 87 |
MW = caData[caIndex][2]
|
| 88 |
chemName = request.form["chemName"]
|
|
|
|
| 89 |
if caIndex == 12:
|
| 90 |
isCA = True
|
| 91 |
MW = float(request.form["MW"])
|
| 92 |
chemName = request.form["chemName"]
|
|
|
|
| 93 |
if caIndex == 13:
|
| 94 |
isCA = False
|
| 95 |
MW = float(request.form["MW"])
|
|
@@ -121,12 +126,17 @@ def app_post():
|
|
| 121 |
else:
|
| 122 |
MOS = 50.*TI/release
|
| 123 |
|
|
|
|
|
|
|
| 124 |
release = SigFigs(release,2)
|
| 125 |
MOS = SigFigs(MOS,2)
|
| 126 |
diff = SigFigs(diff,2)
|
|
|
|
|
|
|
| 127 |
|
| 128 |
return render_template('report.html', polymers=polymers, pIndex=pIndex, caIndex=caIndex, release=release, assume=assume, \
|
| 129 |
-
area=area, vol=vol, amount=amount, diff=diff, time=time, exposure=exposure, TTC=TTC, isCA=isCA, TI=TI, MOS=MOS,
|
|
|
|
| 130 |
|
| 131 |
def CalcExposure(MW,amount,vol,area,exposure,time,pIndex):
|
| 132 |
Ap = np.array((16.9,11.7,8.2,2.6))
|
|
|
|
| 78 |
caIndex = (np.where(CAs==CA)[0])[0]
|
| 79 |
|
| 80 |
TI = caData[caIndex][1]
|
| 81 |
+
impurity = 1.
|
| 82 |
+
|
| 83 |
if caIndex<11:
|
| 84 |
isCA = True
|
| 85 |
MW = caData[caIndex][2]
|
| 86 |
chemName = caData[caIndex][0].decode('UTF-8')
|
| 87 |
+
impurity = float(request.form["impurity"])*amount*1e-2
|
| 88 |
if caIndex == 11:
|
| 89 |
isCA = True
|
| 90 |
MW = caData[caIndex][2]
|
| 91 |
chemName = request.form["chemName"]
|
| 92 |
+
impurity = float(request.form["impurity"])*amount*1e-2
|
| 93 |
if caIndex == 12:
|
| 94 |
isCA = True
|
| 95 |
MW = float(request.form["MW"])
|
| 96 |
chemName = request.form["chemName"]
|
| 97 |
+
impurity = float(request.form["impurity"])*amount*1e-2
|
| 98 |
if caIndex == 13:
|
| 99 |
isCA = False
|
| 100 |
MW = float(request.form["MW"])
|
|
|
|
| 126 |
else:
|
| 127 |
MOS = 50.*TI/release
|
| 128 |
|
| 129 |
+
iMOS = TTC/impurity
|
| 130 |
+
|
| 131 |
release = SigFigs(release,2)
|
| 132 |
MOS = SigFigs(MOS,2)
|
| 133 |
diff = SigFigs(diff,2)
|
| 134 |
+
iMOS = SigFigs(iMOS,2)
|
| 135 |
+
impurity = SigFigs(impurity,2)
|
| 136 |
|
| 137 |
return render_template('report.html', polymers=polymers, pIndex=pIndex, caIndex=caIndex, release=release, assume=assume, \
|
| 138 |
+
area=area, vol=vol, amount=amount, diff=diff, time=time, exposure=exposure, TTC=TTC, isCA=isCA, TI=TI, MOS=MOS, \
|
| 139 |
+
chemName=chemName, impurity=impurity, iMOS=iMOS)
|
| 140 |
|
| 141 |
def CalcExposure(MW,amount,vol,area,exposure,time,pIndex):
|
| 142 |
Ap = np.array((16.9,11.7,8.2,2.6))
|
templates/index.html
CHANGED
|
@@ -56,7 +56,7 @@ body {font-family: Arial, Helvetica, sans-serif;}
|
|
| 56 |
<h2>Color Hazard and RISk calculator (CHRIS)</h2>
|
| 57 |
</header>
|
| 58 |
|
| 59 |
-
<p><strong>Disclaimer: CHRIS only addresses risk associated with the presence of color additives and additives and impurities associated with the color additive. Therefore, a favorable outcome by CHRIS does not imply acceptable biological risk for the final finished form of a medical device. Further, a successful CHRIS evaluation does not address local biocompatibility endpoints, and therefore additional testing may be needed despite a positive outcome from CHRIS. Because there may be additional restrictions based on specific device guidance and code of federal regulation (CFR) listings, users should also review the relevant documents for their device type and color additive.
|
| 60 |
|
| 61 |
|
| 62 |
<p> For details on how to use CHRIS, please read the <a href="{{url_for('static', filename='README.html')}}"> instructions.</a> and <a href="{{url_for('static', filename='COU.html')}}"> context of use (COU)</a>. Answers to frequently asked questions can be found <a href="{{url_for('static', filename='FAQ.html')}}"> here</a>.</p>
|
|
@@ -83,6 +83,8 @@ Molecular weight (g/mol): <input name="MW" id="MW" step="any" value="1100" min="
|
|
| 83 |
|
| 84 |
Amount (mg): <input name="amount" id="amount" value="1.0" step="any" min="0.000001" type="number"> <br>
|
| 85 |
|
|
|
|
|
|
|
| 86 |
<!-- Javascript to reveal/hide CA selection box -->
|
| 87 |
|
| 88 |
<script type="text/javascript">
|
|
@@ -93,7 +95,11 @@ function caCheck() {
|
|
| 93 |
|
| 94 |
document.getElementById("MW").value = parseFloat(caMW[iCA]);
|
| 95 |
document.getElementById('MW').disabled = true;
|
|
|
|
| 96 |
|
|
|
|
|
|
|
|
|
|
| 97 |
if (iCA >= 12) {
|
| 98 |
document.getElementById('MW').disabled = false;
|
| 99 |
}
|
|
@@ -119,6 +125,7 @@ function caCheck() {
|
|
| 119 |
<p><em>Identity</em> - Select the color additive in the component being evaluated via the pull down list. If the color additive is not explicitly listed, please choose either "Other metal oxide color additive" or "Other non-metal oxide color additive" and enter the chemical name, including CAS # if known. If "Other non-metal oxide color additive" is selected, please enter the molecular weight of the color additive in grams per mole. If you are evaluating an additive or impurity associated with a color additive please select "Other compound (non-color additive)" and enter the chemical name and molecular weight. Note that the CHRIS is limited to color additive associated substances with molecular weight between 100 and 1100 g/mol. For compounds with molecular weight > 1100 g/mol, this value can be used for a conservative exposure estimate.
|
| 120 |
<p><em>Molecular weight</em> - Enter the molecular weight of the substance in grams per mole.</p>
|
| 121 |
<p><em>Amount</em> - Enter the total mass of the substance in the component being evaluated expressed in milligrams.</p>
|
|
|
|
| 122 |
</div>
|
| 123 |
<div class="modal-footer">
|
| 124 |
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
|
|
| 56 |
<h2>Color Hazard and RISk calculator (CHRIS)</h2>
|
| 57 |
</header>
|
| 58 |
|
| 59 |
+
<p><strong>Disclaimer: CHRIS only addresses risk associated with the presence of color additives and additives and impurities associated with the color additive. Therefore, a favorable outcome by CHRIS does not imply acceptable biological risk for the final finished form of a medical device. Further, a successful CHRIS evaluation does not address local biocompatibility endpoints, and therefore additional testing may be needed despite a positive outcome from CHRIS. Because there may be additional restrictions based on specific device guidance and code of federal regulation (CFR) listings, users should also review the relevant documents for their device type and color additive. </strong></p>
|
| 60 |
|
| 61 |
|
| 62 |
<p> For details on how to use CHRIS, please read the <a href="{{url_for('static', filename='README.html')}}"> instructions.</a> and <a href="{{url_for('static', filename='COU.html')}}"> context of use (COU)</a>. Answers to frequently asked questions can be found <a href="{{url_for('static', filename='FAQ.html')}}"> here</a>.</p>
|
|
|
|
| 83 |
|
| 84 |
Amount (mg): <input name="amount" id="amount" value="1.0" step="any" min="0.000001" type="number"> <br>
|
| 85 |
|
| 86 |
+
Total impurity concentration (%): <input name="impurity" id="impurity" value="0.1" step="any" min="0.000001" max='100.0' type="number"> <br>
|
| 87 |
+
|
| 88 |
<!-- Javascript to reveal/hide CA selection box -->
|
| 89 |
|
| 90 |
<script type="text/javascript">
|
|
|
|
| 95 |
|
| 96 |
document.getElementById("MW").value = parseFloat(caMW[iCA]);
|
| 97 |
document.getElementById('MW').disabled = true;
|
| 98 |
+
document.getElementById('impurity').disabled = false;
|
| 99 |
|
| 100 |
+
if (iCA >= 13) {
|
| 101 |
+
document.getElementById('impurity').disabled = true;
|
| 102 |
+
}
|
| 103 |
if (iCA >= 12) {
|
| 104 |
document.getElementById('MW').disabled = false;
|
| 105 |
}
|
|
|
|
| 125 |
<p><em>Identity</em> - Select the color additive in the component being evaluated via the pull down list. If the color additive is not explicitly listed, please choose either "Other metal oxide color additive" or "Other non-metal oxide color additive" and enter the chemical name, including CAS # if known. If "Other non-metal oxide color additive" is selected, please enter the molecular weight of the color additive in grams per mole. If you are evaluating an additive or impurity associated with a color additive please select "Other compound (non-color additive)" and enter the chemical name and molecular weight. Note that the CHRIS is limited to color additive associated substances with molecular weight between 100 and 1100 g/mol. For compounds with molecular weight > 1100 g/mol, this value can be used for a conservative exposure estimate.
|
| 126 |
<p><em>Molecular weight</em> - Enter the molecular weight of the substance in grams per mole.</p>
|
| 127 |
<p><em>Amount</em> - Enter the total mass of the substance in the component being evaluated expressed in milligrams.</p>
|
| 128 |
+
<p><em>Total impurity concentration</em> - If you have selected a color additive, please enter the combined concentration of all impurities associated with the color additive as a percentage (% mass/mass).</p>
|
| 129 |
</div>
|
| 130 |
<div class="modal-footer">
|
| 131 |
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
templates/report.html
CHANGED
|
@@ -141,16 +141,30 @@ The tolerable intake value for your color additive is {{TI}} mg/kg/day. Assumin
|
|
| 141 |
<font color="red"> *Note*: This assessment assumes that the color additive complies with all relevant medical device specific guidance documents and all relevant Code of Federal Regulations (CFR) color additive listings, if they exist for the color additive. Examples of CFR listings are provided in the <a href="static/FAQ.html#how-does-chris-deal-with-color-additive-impurities" >FAQ</a>.</font>
|
| 142 |
</p>
|
| 143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 144 |
<p>
|
| 145 |
-
<font color="red"> *Note*: This assessment
|
| 146 |
</p>
|
| 147 |
|
| 148 |
-
<p>
|
| 149 |
-
<
|
| 150 |
-
<
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 154 |
|
| 155 |
{% endif %}
|
| 156 |
|
|
|
|
| 141 |
<font color="red"> *Note*: This assessment assumes that the color additive complies with all relevant medical device specific guidance documents and all relevant Code of Federal Regulations (CFR) color additive listings, if they exist for the color additive. Examples of CFR listings are provided in the <a href="static/FAQ.html#how-does-chris-deal-with-color-additive-impurities" >FAQ</a>.</font>
|
| 142 |
</p>
|
| 143 |
|
| 144 |
+
{% endif %}
|
| 145 |
+
|
| 146 |
+
{% if isCA == true %}
|
| 147 |
+
|
| 148 |
+
<h3> Color additive impurities </h3>
|
| 149 |
+
|
| 150 |
+
{% if iMOS >= 1 %}
|
| 151 |
+
|
| 152 |
+
<font color="green"> The total color additive impurity level is {{impurity}} mg. When compared to TTC this results in an MOS = {{iMOS}}. Therefore, no further analysis is needed for the impact of impurities on systemic biocompatibility endpoints. </font>
|
| 153 |
+
|
| 154 |
<p>
|
| 155 |
+
<font color="red"> *Note*: This assessment assumes that any impurities present are not in the cohort of concern. </font>
|
| 156 |
</p>
|
| 157 |
|
| 158 |
+
<p>
|
| 159 |
+
<font color="red"> *Note*: Users should review and confirm compliance of impurity levels with any relevant Code of Federal Regulations (CFR) listings as part of the submission package, i.e. in addition to any output of CHRIS. A list of relevant CFR listings is provided <a href="static/FAQ.html#how-does-chris-deal-with-color-additive-impurities" >here</a>.</font>
|
| 160 |
+
</p>
|
| 161 |
+
|
| 162 |
+
{% else %}
|
| 163 |
+
|
| 164 |
+
<font color="red"> The total color additive impurity level is {{impurity}} mg. When compared to TTC this results in an MOS = {{iMOS}}. Therefore, further analysis is needed to address the impact of impurities on systemic biocompatibility endpoints. Guidance on alternative methods to address impurities is provided <a href="static/FAQ.html#how-does-chris-deal-with-color-additive-impurities" >here</a>. </font>
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
{% endif %}
|
| 168 |
|
| 169 |
{% endif %}
|
| 170 |
|