docs(thesis): adjustments after review
This commit is contained in:
parent
c3413ba8c2
commit
bb7e0c0e20
@ -1292,3 +1292,12 @@ The {MEWS} in association with a call-out algorithm is a useful and appropriate
|
|||||||
date = {2005-02},
|
date = {2005-02},
|
||||||
langid = {english},
|
langid = {english},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@online{noauthor_withings_nodate,
|
||||||
|
title = {Withings {API} Reference},
|
||||||
|
url = {https://developer.withings.com/api-reference},
|
||||||
|
titleaddon = {Withings {API} Reference},
|
||||||
|
urldate = {2023-09-11},
|
||||||
|
langid = {english},
|
||||||
|
file = {Snapshot:/home/ulinja/Zotero/storage/CG2II4SI/api-reference.html:text/html},
|
||||||
|
}
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
<mxfile host="app.diagrams.net" modified="2023-08-20T22:49:49.811Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36" etag="PkJOclFEVI5TEfIjMddY" version="21.6.8" type="device">
|
<mxfile host="app.diagrams.net" modified="2023-09-11T14:10:39.106Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36" etag="MSmBx3_fIc_8iHbTZl8x" version="21.7.4" type="device">
|
||||||
<diagram id="f6zhRbDmt8kIpFGfOheX" name="Page-1">
|
<diagram id="f6zhRbDmt8kIpFGfOheX" name="Page-1">
|
||||||
<mxGraphModel dx="1412" dy="742" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
<mxGraphModel dx="1661" dy="804" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||||
<root>
|
<root>
|
||||||
<mxCell id="0" />
|
<mxCell id="0" />
|
||||||
<mxCell id="1" parent="0" />
|
<mxCell id="1" parent="0" />
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-14" value="medwings" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1;container=0;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-14" value="medwings" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1;container=0;fillColor=#F5F5F5;fontColor=#1A2236;strokeColor=#151B2B;" parent="1" vertex="1">
|
||||||
<mxGeometry x="134" y="250" width="570" height="330" as="geometry" />
|
<mxGeometry x="134" y="250" width="570" height="330" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-12" value="" style="group" parent="1" vertex="1" connectable="0">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-12" value="" style="group" parent="1" vertex="1" connectable="0">
|
||||||
<mxGeometry x="94" y="620" width="280" height="250" as="geometry" />
|
<mxGeometry x="94" y="620" width="280" height="250" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-1" value="authentication" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1" parent="V-qh-Gk3nv3sh-DeGmF5-12" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-1" value="authentication" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1;fillColor=#F5F5F5;fontColor=#1A2236;strokeColor=#151B2B;" parent="V-qh-Gk3nv3sh-DeGmF5-12" vertex="1">
|
||||||
<mxGeometry x="40" y="-10" width="240" height="250" as="geometry" />
|
<mxGeometry x="40" y="-10" width="240" height="250" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-2" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>User</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i style="">&nbsp;: Integer</i><br></u>password<i>&nbsp;: String</i><br>last_login<i>&nbsp;: DateTime</i><br>is_superuser<i>&nbsp;: Boolean</i><br>username<i>&nbsp;: String</i><br>first_name<i>&nbsp;: String</i><br>last_name : <i>String</i><br>email<i>&nbsp;: String</i><br>is_staff<i>&nbsp;: Boolean</i><br>is_active<i>&nbsp;: Boolean</i><br>date_joined<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="V-qh-Gk3nv3sh-DeGmF5-12" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-2" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>User</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i style="">&nbsp;: Integer</i><br></u>password<i>&nbsp;: String</i><br>last_login<i>&nbsp;: DateTime</i><br>is_superuser<i>&nbsp;: Boolean</i><br>username<i>&nbsp;: String</i><br>first_name<i>&nbsp;: String</i><br>last_name : <i>String</i><br>email<i>&nbsp;: String</i><br>is_staff<i>&nbsp;: Boolean</i><br>is_active<i>&nbsp;: Boolean</i><br>date_joined<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;rounded=1;fillColor=#FFDBDB;strokeColor=#B85C5C;arcSize=6;" parent="V-qh-Gk3nv3sh-DeGmF5-12" vertex="1">
|
||||||
<mxGeometry x="69.99565217391304" y="20" width="194.7826086956522" height="200" as="geometry" />
|
<mxGeometry x="69.99565217391304" y="20" width="194.7826086956522" height="200" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-26" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1.003;exitY=0.323;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-16" edge="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-26" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1.003;exitY=0.323;exitDx=0;exitDy=0;exitPerimeter=0;strokeColor=#B3BAB5;endFill=0;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-16" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="-96" y="590" as="sourcePoint" />
|
<mxPoint x="-96" y="590" as="sourcePoint" />
|
||||||
<mxPoint x="4" y="490" as="targetPoint" />
|
<mxPoint x="4" y="490" as="targetPoint" />
|
||||||
@ -28,31 +28,7 @@
|
|||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-27" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.997;exitY=0.398;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-17" edge="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-29" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=-0.002;exitY=0.33;exitDx=0;exitDy=0;exitPerimeter=0;strokeColor=#B3BAB5;endFill=0;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-20" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
|
||||||
<mxPoint x="-86" y="600" as="sourcePoint" />
|
|
||||||
<mxPoint x="14" y="500" as="targetPoint" />
|
|
||||||
<Array as="points">
|
|
||||||
<mxPoint x="414" y="720" />
|
|
||||||
<mxPoint x="414" y="620" />
|
|
||||||
<mxPoint x="734" y="620" />
|
|
||||||
<mxPoint x="734" y="320" />
|
|
||||||
</Array>
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-28" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-19" edge="1">
|
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
|
||||||
<mxPoint x="-76" y="610" as="sourcePoint" />
|
|
||||||
<mxPoint x="24" y="510" as="targetPoint" />
|
|
||||||
<Array as="points">
|
|
||||||
<mxPoint x="394" y="690" />
|
|
||||||
<mxPoint x="394" y="600" />
|
|
||||||
<mxPoint x="714" y="600" />
|
|
||||||
<mxPoint x="714" y="520" />
|
|
||||||
</Array>
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-29" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=-0.002;exitY=0.33;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-20" edge="1">
|
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="-66" y="620" as="sourcePoint" />
|
<mxPoint x="-66" y="620" as="sourcePoint" />
|
||||||
<mxPoint x="34" y="520" as="targetPoint" />
|
<mxPoint x="34" y="520" as="targetPoint" />
|
||||||
@ -62,7 +38,31 @@
|
|||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-30" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endFill=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-15" edge="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-27" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.997;exitY=0.398;exitDx=0;exitDy=0;exitPerimeter=0;strokeColor=#B3BAB5;endFill=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
|
<mxPoint x="359.00391304347835" y="719.6" as="sourcePoint" />
|
||||||
|
<mxPoint x="679.7299999999999" y="320" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="414.81" y="720" />
|
||||||
|
<mxPoint x="414.81" y="620" />
|
||||||
|
<mxPoint x="734.81" y="620" />
|
||||||
|
<mxPoint x="734.81" y="320" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-28" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;strokeColor=#B3BAB5;endFill=0;strokeWidth=2;" parent="1" edge="1">
|
||||||
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
|
<mxPoint x="358.9982608695653" y="691" as="sourcePoint" />
|
||||||
|
<mxPoint x="679.13" y="521" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="394.22" y="691" />
|
||||||
|
<mxPoint x="394.22" y="601" />
|
||||||
|
<mxPoint x="714.22" y="601" />
|
||||||
|
<mxPoint x="714.22" y="521" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-30" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endFill=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-15" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="-56" y="630" as="sourcePoint" />
|
<mxPoint x="-56" y="630" as="sourcePoint" />
|
||||||
<mxPoint x="134" y="530" as="targetPoint" />
|
<mxPoint x="134" y="530" as="targetPoint" />
|
||||||
@ -73,56 +73,46 @@
|
|||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-32" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;exitX=0;exitY=0.4;exitDx=0;exitDy=0;exitPerimeter=0;endFill=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-21" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-3" value="gotify" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1;fillColor=#F5F5F5;fontColor=#1A2236;strokeColor=#151B2B;" parent="1" vertex="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
|
||||||
<mxPoint x="-66" y="620" as="sourcePoint" />
|
|
||||||
<mxPoint x="124" y="355" as="targetPoint" />
|
|
||||||
<Array as="points">
|
|
||||||
<mxPoint x="130" y="720" />
|
|
||||||
<mxPoint x="130" y="320" />
|
|
||||||
</Array>
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-3" value="gotify" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1" parent="1" vertex="1">
|
|
||||||
<mxGeometry x="134" y="880" width="276" height="110" as="geometry" />
|
<mxGeometry x="134" y="880" width="276" height="110" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-5" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>GotifyApplication</b></p><hr><p style="margin:0px;margin-left:8px;">id<i>&nbsp;: Integer</i><br>token<i> : String</i><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-5" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>GotifyApplication</b></p><hr><p style="margin:0px;margin-left:8px;">id<i>&nbsp;: Integer</i><br>token<i> : String</i><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;rounded=1;fillColor=#FDFFE0;strokeColor=#969623;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="280" y="905" width="110" height="70" as="geometry" />
|
<mxGeometry x="280" y="905" width="110" height="70" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-9" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>GotifyUser</b></p><hr><p style="margin:0px;margin-left:8px;">id<i>&nbsp;: Integer</i><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-9" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>GotifyUser</b></p><hr><p style="margin:0px;margin-left:8px;">id<i>&nbsp;: Integer</i><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;rounded=1;fillColor=#FDFFE0;strokeColor=#969623;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="167" y="915" width="74" height="50" as="geometry" />
|
<mxGeometry x="167" y="915" width="74" height="50" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-10" value="" style="fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;" parent="1" source="b34YlEaqVGowunhmw_iH-9" target="b34YlEaqVGowunhmw_iH-5" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-10" value="" style="fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="b34YlEaqVGowunhmw_iH-9" target="b34YlEaqVGowunhmw_iH-5" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="440.2782608695652" y="1735" as="sourcePoint" />
|
<mxPoint x="440.2782608695652" y="1735" as="sourcePoint" />
|
||||||
<mxPoint x="621" y="1690" as="targetPoint" />
|
<mxPoint x="621" y="1690" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-4" value="withings" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-4" value="withings" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fontStyle=1;fillColor=#F5F5F5;fontColor=#1A2236;strokeColor=#151B2B;" parent="1" vertex="1">
|
||||||
<mxGeometry x="424" y="640" width="310" height="230" as="geometry" />
|
<mxGeometry x="424" y="640" width="310" height="230" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-5" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>ApiAccount</b></p><hr><p style="margin:0px;margin-left:8px;">userid<i>&nbsp;: Integer</i><br>last_update<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-5" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>ApiAccount</b></p><hr><p style="margin:0px;margin-left:8px;">userid<i>&nbsp;: Integer</i><br>last_update<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;rounded=1;fillColor=#DEFFE3;strokeColor=#87CCA2;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="520" y="787" width="140.5" height="63" as="geometry" />
|
<mxGeometry x="520" y="787" width="140.5" height="63" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-6" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>RefreshToken</b></p><hr><p style="margin:0px;margin-left:8px;">value<i>&nbsp;: String</i><br>expires<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-6" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>RefreshToken</b></p><hr><p style="margin:0px;margin-left:8px;">value<i>&nbsp;: String</i><br>expires<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;rounded=1;fillColor=#DEFFE3;strokeColor=#87CCA2;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="457" y="680" width="120" height="70" as="geometry" />
|
<mxGeometry x="457" y="680" width="120" height="70" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-7" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>AccessToken</b></p><hr><p style="margin:0px;margin-left:8px;">value<i>&nbsp;: String</i><br>expires<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-7" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>AccessToken</b></p><hr><p style="margin:0px;margin-left:8px;">value<i>&nbsp;: String</i><br>expires<i>&nbsp;: DateTime</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;rounded=1;fillColor=#DEFFE3;strokeColor=#87CCA2;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="597" y="680" width="120" height="70" as="geometry" />
|
<mxGeometry x="597" y="680" width="120" height="70" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-9" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-6" target="V-qh-Gk3nv3sh-DeGmF5-5" edge="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-9" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-6" target="V-qh-Gk3nv3sh-DeGmF5-5" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="387" y="740" as="sourcePoint" />
|
<mxPoint x="387" y="740" as="sourcePoint" />
|
||||||
<mxPoint x="527" y="870" as="targetPoint" />
|
<mxPoint x="527" y="870" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-10" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-7" target="V-qh-Gk3nv3sh-DeGmF5-5" edge="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-10" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-7" target="V-qh-Gk3nv3sh-DeGmF5-5" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="787" y="730" as="sourcePoint" />
|
<mxPoint x="787" y="730" as="sourcePoint" />
|
||||||
<mxPoint x="767" y="770" as="targetPoint" />
|
<mxPoint x="767" y="770" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-11" value="" style="fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="b34YlEaqVGowunhmw_iH-9" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-11" value="" style="fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="b34YlEaqVGowunhmw_iH-9" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="304" y="950" as="sourcePoint" />
|
<mxPoint x="304" y="950" as="sourcePoint" />
|
||||||
<mxPoint x="360" y="950" as="targetPoint" />
|
<mxPoint x="360" y="950" as="targetPoint" />
|
||||||
@ -132,7 +122,7 @@
|
|||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-8" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-5" edge="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-8" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-5" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="404" y="790" as="sourcePoint" />
|
<mxPoint x="404" y="790" as="sourcePoint" />
|
||||||
<mxPoint x="524" y="330" as="targetPoint" />
|
<mxPoint x="524" y="330" as="targetPoint" />
|
||||||
@ -143,58 +133,58 @@
|
|||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-15" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>Profile</b></p><hr><p style="margin:0px;margin-left:8px;">sex<i>&nbsp;: Enum</i><br>date_of_birth<i>&nbsp;: Date</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-15" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>Profile</b></p><hr><p style="margin:0px;margin-left:8px;">sex<i>&nbsp;: Enum</i><br>date_of_birth<i>&nbsp;: Date</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;rounded=1;fillColor=#E6EAFF;strokeColor=#74A8D6;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="163.99" y="480" width="124.21" height="80" as="geometry" />
|
<mxGeometry x="163.99" y="480" width="124.21" height="80" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-16" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>HeartRateRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_bpm<i> : Integer</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-16" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>HeartRateRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_bpm<i> : Integer</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;rounded=1;fillColor=#E6EAFF;strokeColor=#74A8D6;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="544.36" y="370" width="134.56" height="100" as="geometry" />
|
<mxGeometry x="544.36" y="370" width="134.56" height="100" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-17" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>BodyTempRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_celcius<i> : Decimal</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-17" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>BodyTempRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_celcius<i> : Decimal</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;rounded=1;fillColor=#E6EAFF;strokeColor=#74A8D6;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="534.01" y="280" width="144.91" height="80" as="geometry" />
|
<mxGeometry x="534.01" y="280" width="144.91" height="80" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-19" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>Spo2LevelRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i> : Integer</i></u></p><p style="margin:0px;margin-left:8px;">recorded<i>&nbsp;: DateTime</i><br>value_percent<i> : Integer</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-19" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>Spo2LevelRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i> : Integer</i></u></p><p style="margin:0px;margin-left:8px;">recorded<i>&nbsp;: DateTime</i><br>value_percent<i> : Integer</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;rounded=1;fillColor=#E6EAFF;strokeColor=#74A8D6;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="534" y="480" width="144.91" height="80" as="geometry" />
|
<mxGeometry x="534" y="480" width="144.91" height="80" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-20" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>BloodPressureRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_systolic_mmhg<i>&nbsp;: Integer</i><br>value_diastolic_mmhg<i> : Integer<br></i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-20" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>BloodPressureRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_systolic_mmhg<i>&nbsp;: Integer</i><br>value_diastolic_mmhg<i> : Integer<br></i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;rounded=1;fillColor=#E6EAFF;strokeColor=#74A8D6;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="163.98999999999998" y="370" width="186.32" height="100" as="geometry" />
|
<mxGeometry x="163.98999999999998" y="370" width="186.32" height="100" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-21" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>RespirationScoreRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_severity<i>&nbsp;: Enum</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;" parent="1" vertex="1">
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-21" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>RespirationScoreRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_severity<i>&nbsp;: Enum</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;rounded=1;fillColor=#E6EAFF;strokeColor=#74A8D6;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="164" y="280" width="155.26" height="80" as="geometry" />
|
<mxGeometry x="164" y="280" width="155.26" height="80" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-14" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>MewsRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_n<i>&nbsp;: Integer</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;" parent="1" vertex="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-14" value="<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>MewsRecord</b></p><hr><p style="margin:0px;margin-left:8px;"><u>id<i>&nbsp;: Integer</i></u><br>recorded<i>&nbsp;: DateTime</i><br>value_n<i>&nbsp;: Integer</i></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;container=0;rounded=1;fillColor=#E6EAFF;strokeColor=#74A8D6;arcSize=6;" parent="1" vertex="1">
|
||||||
<mxGeometry x="358.78" y="480" width="134.56" height="80" as="geometry" />
|
<mxGeometry x="358.78" y="480" width="134.56" height="80" as="geometry" />
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-16" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;endFill=0;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="b34YlEaqVGowunhmw_iH-14" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-16" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;endFill=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="b34YlEaqVGowunhmw_iH-14" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="334" y="630" as="sourcePoint" />
|
<mxPoint x="334" y="630" as="sourcePoint" />
|
||||||
<mxPoint x="434" y="530" as="targetPoint" />
|
<mxPoint x="434" y="530" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-17" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.472;exitY=-0.004;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-21" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-17" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.472;exitY=-0.004;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-21" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="387.0326086956521" y="455" as="sourcePoint" />
|
<mxPoint x="387.0326086956521" y="455" as="sourcePoint" />
|
||||||
<mxPoint x="440.95" y="330" as="targetPoint" />
|
<mxPoint x="440.95" y="330" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-18" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.383;exitY=-0.007;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-20" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-18" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.383;exitY=-0.007;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-20" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="437.51298245614055" y="499.71999999999997" as="sourcePoint" />
|
<mxPoint x="437.51298245614055" y="499.71999999999997" as="sourcePoint" />
|
||||||
<mxPoint x="329.2521052631579" y="365" as="targetPoint" />
|
<mxPoint x="329.2521052631579" y="365" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-19" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.565;exitY=-0.006;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-17" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-19" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.565;exitY=-0.006;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-17" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="425.53701754385975" y="499.51" as="sourcePoint" />
|
<mxPoint x="425.53701754385975" y="499.51" as="sourcePoint" />
|
||||||
<mxPoint x="360.3084210526315" y="450" as="targetPoint" />
|
<mxPoint x="360.3084210526315" y="450" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-20" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.655;exitY=-0.007;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-16" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-20" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.655;exitY=-0.007;exitDx=0;exitDy=0;exitPerimeter=0;startFill=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-16" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="450.0271929824563" y="499.5799999999999" as="sourcePoint" />
|
<mxPoint x="450.0271929824563" y="499.5799999999999" as="sourcePoint" />
|
||||||
<mxPoint x="544.0045614035089" y="364.99999999999994" as="targetPoint" />
|
<mxPoint x="544.0045614035089" y="364.99999999999994" as="targetPoint" />
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="b34YlEaqVGowunhmw_iH-21" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startFill=0;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-19" edge="1">
|
<mxCell id="b34YlEaqVGowunhmw_iH-21" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERmandOne;startArrow=ERzeroToOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startFill=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="b34YlEaqVGowunhmw_iH-14" target="V-qh-Gk3nv3sh-DeGmF5-19" edge="1">
|
||||||
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
<mxPoint x="462.13771929824577" y="499.51" as="sourcePoint" />
|
<mxPoint x="462.13771929824577" y="499.51" as="sourcePoint" />
|
||||||
<mxPoint x="554.3600000000001" y="445" as="targetPoint" />
|
<mxPoint x="554.3600000000001" y="445" as="targetPoint" />
|
||||||
@ -204,6 +194,16 @@
|
|||||||
</Array>
|
</Array>
|
||||||
</mxGeometry>
|
</mxGeometry>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
|
<mxCell id="V-qh-Gk3nv3sh-DeGmF5-32" value="" style="edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;exitX=0;exitY=0.4;exitDx=0;exitDy=0;exitPerimeter=0;endFill=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#B3BAB5;strokeWidth=2;" parent="1" source="V-qh-Gk3nv3sh-DeGmF5-2" target="V-qh-Gk3nv3sh-DeGmF5-21" edge="1">
|
||||||
|
<mxGeometry width="100" height="100" relative="1" as="geometry">
|
||||||
|
<mxPoint x="-66" y="620" as="sourcePoint" />
|
||||||
|
<mxPoint x="124" y="355" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="130" y="720" />
|
||||||
|
<mxPoint x="130" y="320" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
</root>
|
</root>
|
||||||
</mxGraphModel>
|
</mxGraphModel>
|
||||||
</diagram>
|
</diagram>
|
||||||
|
@ -1 +1,54 @@
|
|||||||
<mxfile host="Electron" modified="2023-06-04T14:28:46.178Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.7.4 Chrome/106.0.5249.199 Electron/21.3.3 Safari/537.36" version="20.7.4" etag="F7tFCP4Nm3QTIsRK-8Ri" type="device"><diagram id="Nfhfv2VjyWhg4Jekitvn" name="Page-1">7Vlbb5swFP41kbaHToC5hMcmvaxSN2nLQy9vDrjg1tjImEL662eDKSBSkqlL6aoqFcGffcD+vnOOj5sZWCblOYdp/IOFiMwsIyxn4GRmWXNjLq8K2NSA7Tk1EHEc1pDZAiv8hDRoaDTHIcp6AwVjROC0DwaMUhSIHgY5Z0V/2B0j/bemMEIDYBVAMkSvcChijbqO3XZ8RziK9astANy6J4HNaL2ULIYhKzoQOJ2BJWdM1HdJuUREkdcQU9udvdD7PDOOqNjHgGbnRrG4X4Xw8td1cHxl2LdHRw3Pmdg0S+YspyFSRsYMLBgXMYsYheSSsVSCpgTvkRAbLRbMBZNQLBKie1GJxbUy/+bo1k2n56TUT64am6ZBBd90jFTzptvXmlWt1i48VjLL5pqw4KGGzjBpJlMvD4UDmVvaNJSxnAdojCvtf5BHSIyMc57FlVGBWILkhKUdRwQK/NifB9T+GT2PaxWUN1rEvxHUHAiqFr/STcqo/Fp8ajym3R4au1NqrCf5CEmu33SSpwQHUMhUqSaRsEcprmV8+Skv1QgXJlLYBV1n6st3rK8jca84LWIs0CqFFVuFzO19/fUMEBeoHCd9SJI28Ayde5qtwdftopNom+QZd3KsbRwqdqzP2HlF7Lh7xo4/Zey4g9j5jQLGQxU4WcARoipyXCIXsFhzeRepuzaQDNOwnfcXPI43dfDMR4jFNCB5uIPY90irB6am1QSfOekVOcnfMyfNJ63Z7DfV2Owo3Oq9S+Oewq3g/5HG3pQa+4P0eJZXVjJZieqFGZJ/YXVI5YoagiO8xgSLTa+SM+bvsHZzncnz5LAovgjlavCdqosxowPOsgInBFahFTOOnxgVkGj33cFgJjh7QEtGpFLqWcAz1Ef23MmnbMP/Aeeu3ecczIecA7CFc/9gnI9t+Zr8yqNFLB00ihX/CPIgrkoCeVkFLM2zkYOK6fveW3j7iEu9rEdfDmvPCHAOpsawtF1VBS2m0YdzfntLvbvV+U33YHx7A76PqySeqDV9NMLdLZXwVsLnh+J7SHebbVDZHDC6O6XvgumSxwvVRtlki93Zw3zT/XN4frtQp7bsI26dnnk4Z5bN9n/6VV/nlxFw+gc=</diagram></mxfile>
|
<mxfile host="app.diagrams.net" modified="2023-09-11T13:41:05.732Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36" etag="tMhgjI-p4Nx-POryOxet" version="21.6.8" type="device">
|
||||||
|
<diagram id="Nfhfv2VjyWhg4Jekitvn" name="Page-1">
|
||||||
|
<mxGraphModel dx="807" dy="390" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="2336" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--10" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=block;endFill=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nsG0wBjSdaLQXcAW04Z--1" target="nsG0wBjSdaLQXcAW04Z--6" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry">
|
||||||
|
<mxPoint x="760" y="480" as="targetPoint" />
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--12" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=block;endFill=1;" parent="1" source="nsG0wBjSdaLQXcAW04Z--6" target="nsG0wBjSdaLQXcAW04Z--9" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--15" value="Identification" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;strokeColor=#707070;fontColor=#707070;rounded=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="640" y="380" width="330" height="140" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--1" value="Records identified through search in Scopus (N<span style="font-size: 10px;"><sub>0</sub></span>=1997)" style="rounded=1;whiteSpace=wrap;html=1;" parent="nsG0wBjSdaLQXcAW04Z--15" vertex="1">
|
||||||
|
<mxGeometry x="60" y="20" width="120" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="CzIygMLBs7PSniqS3PZd-1" value="n<sub>d</sub>=952 duplicates removed" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="nsG0wBjSdaLQXcAW04Z--15">
|
||||||
|
<mxGeometry x="116" y="91" width="170" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--16" value="Screening" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;strokeColor=#707070;fontColor=#707070;rounded=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="640" y="520" width="330" height="140" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--6" value="Records screened<br>(N<sub>s</sub>=1045)" style="rounded=1;whiteSpace=wrap;html=1;" parent="nsG0wBjSdaLQXcAW04Z--16" vertex="1">
|
||||||
|
<mxGeometry x="60" y="30" width="120" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--17" value="Assessment" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;strokeColor=#707070;fontColor=#707070;rounded=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="640" y="660" width="330" height="130" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--9" value="Full text assessed for eligibility (N<sub>a</sub>=82)" style="rounded=1;whiteSpace=wrap;html=1;" parent="nsG0wBjSdaLQXcAW04Z--17" vertex="1">
|
||||||
|
<mxGeometry x="60" y="20" width="120" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--18" value="Inclusion" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;strokeColor=#707070;fontColor=#707070;rounded=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="640" y="790" width="330" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--8" value="Records included<br>(N=45)" style="rounded=1;whiteSpace=wrap;html=1;" parent="nsG0wBjSdaLQXcAW04Z--18" vertex="1">
|
||||||
|
<mxGeometry x="60" y="20" width="120" height="40" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="CzIygMLBs7PSniqS3PZd-2" value="n<sub>i</sub>=963&nbsp;records dismissed" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="754" y="613" width="160" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="nsG0wBjSdaLQXcAW04Z--13" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=block;endFill=1;" parent="1" source="nsG0wBjSdaLQXcAW04Z--9" target="nsG0wBjSdaLQXcAW04Z--8" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="CzIygMLBs7PSniqS3PZd-4" value="n<sub>e</sub>=37 records excluded" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="755" y="741" width="150" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
|
BIN
docs/thesis/attachments/aufgabenstellung.pdf
Normal file
BIN
docs/thesis/attachments/aufgabenstellung.pdf
Normal file
Binary file not shown.
@ -4,31 +4,34 @@
|
|||||||
\vspace{2cm}
|
\vspace{2cm}
|
||||||
\includegraphics[width=0.5\textwidth]{figures/tubs-logo.png} \\
|
\includegraphics[width=0.5\textwidth]{figures/tubs-logo.png} \\
|
||||||
\vspace{2cm}
|
\vspace{2cm}
|
||||||
{\large\textbf{Bachelor Thesis}} \\
|
{\large\textbf{Bachelorarbeit}} \\
|
||||||
|
\vspace{0.5cm}
|
||||||
|
Bachelorstudiengang Informatik \\
|
||||||
\vspace{1cm}
|
\vspace{1cm}
|
||||||
{\small{
|
{\small{
|
||||||
submitted to \\
|
eingereicht am \\
|
||||||
\vspace{1cm}
|
\vspace{1cm}
|
||||||
\textbf{
|
\textbf{
|
||||||
Peter L. Reichertz Institut für Medizinische Informatik \\
|
Peter L. Reichertz Institut für Medizinische Informatik (PLRI) \\
|
||||||
der Technischen Universität Braunschweig \\
|
der Technischen Universität Braunschweig \\
|
||||||
und der Medizinischen Hochschule Hannover \\
|
und der Medizinischen Hochschule Hannover \\
|
||||||
}
|
}
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
in \\
|
im \\
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
\textbf{September 2023} \\
|
\textbf{September 2023} \\
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
by \\
|
von \\
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
\textbf{Julian Lobbes} \\
|
\textbf{Julian Sharif Lobbes} \\
|
||||||
born in Hannover
|
\textit{4343013} \\
|
||||||
|
geboren in Hannover
|
||||||
}} \\
|
}} \\
|
||||||
\end{center}
|
\end{center}
|
||||||
\vfill
|
\vfill
|
||||||
{\footnotesize{
|
{\footnotesize{
|
||||||
Supervisor: \textbf{Prof. Dr. Thomas M. Deserno} \\
|
Erstgutachter: \textbf{Prof. Dr. med. Dr.-Ing. Michael Marschollek} (PLRI) \\
|
||||||
Supervising assistant: \textbf{Prof. Dr. Sharareh R. Niakan Kalhori} \\
|
Zweitgutachter: \textbf{Prof. Dr. Thomas M. Deserno} (PLRI) \\
|
||||||
}}
|
}}
|
||||||
\end{titlepage}
|
\end{titlepage}
|
||||||
%\newpage
|
%\newpage
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 336 KiB After Width: | Height: | Size: 986 KiB |
Binary file not shown.
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 288 KiB |
@ -154,7 +154,7 @@ Two commonly used clinical scores are the \Gls{news2} and the
|
|||||||
Both are calculated by capturing various vital parameters from the patient at a specific point in time, followed by numerical aggregation of the
|
Both are calculated by capturing various vital parameters from the patient at a specific point in time, followed by numerical aggregation of the
|
||||||
captured data according to the score being used\cite{subbe_validation_2001, noauthor_national_2017}.
|
captured data according to the score being used\cite{subbe_validation_2001, noauthor_national_2017}.
|
||||||
For \Gls{mews}, each measured physiological parameter is assigned an individual score based on which range it lies in.
|
For \Gls{mews}, each measured physiological parameter is assigned an individual score based on which range it lies in.
|
||||||
The ranges for scoring each parameter are shown in Table \ref{tab:mews-calculation}.
|
The ranges for scoring each parameter, as proposed by Subbe et al. in 2001\cite{subbe_validation_2001}, are shown in Table \ref{tab:mews-calculation}.
|
||||||
The individual scores are then added together to produce the final \Gls{mews}.
|
The individual scores are then added together to produce the final \Gls{mews}.
|
||||||
A MEWS value of 5 or above indicates an elevated risk of death, and likelihood of ICU admission\cite{subbe_validation_2001}.
|
A MEWS value of 5 or above indicates an elevated risk of death, and likelihood of ICU admission\cite{subbe_validation_2001}.
|
||||||
|
|
||||||
@ -185,12 +185,11 @@ A MEWS value of 5 or above indicates an elevated risk of death, and likelihood o
|
|||||||
\hline
|
\hline
|
||||||
\tiny{\textbf{AVPU}} & --- & --- & --- & \tiny{alert} & \tiny{reacting to voice} & \tiny{reacting to pain} & \tiny{unresponsive} \\
|
\tiny{\textbf{AVPU}} & --- & --- & --- & \tiny{alert} & \tiny{reacting to voice} & \tiny{reacting to pain} & \tiny{unresponsive} \\
|
||||||
\end{tcolorbox}
|
\end{tcolorbox}
|
||||||
\caption{\label{tab:mews-calculation}MEWS calculation ranges}
|
\caption{\label{tab:mews-calculation}MEWS calculation ranges as proposed by Subbe et al. in 2001\cite{subbe_validation_2001}}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
Traditionally, doctors and nursing staff perform collection and evaluation of the data manually, often inputting data into \Gls{ews}-calculators by hand.
|
Traditionally, doctors and nursing staff perform collection and evaluation of the data manually, often inputting data into \Gls{ews}-calculators by hand.
|
||||||
However, as Eisenkraft et al. mentioned in 2023, \enquote{some known setbacks of the NEWS and other scales are the frequency of scoring and
|
However, low scoring frequency and increased proclivity for errors are downsides of manual \Gls{ews} calculation\cite{eisenkraft_developing_2023}.
|
||||||
response, integration into practice, and miscalculation by healthcare providers\ldots~}\cite{eisenkraft_developing_2023}.
|
|
||||||
|
|
||||||
\Gls{rpm} can improve deterioration detection\cite{shaik_remote_2023} by greatly reducing the
|
\Gls{rpm} can improve deterioration detection\cite{shaik_remote_2023} by greatly reducing the
|
||||||
amount of human interaction required to take measurements and perform \Gls{ews} calculations.
|
amount of human interaction required to take measurements and perform \Gls{ews} calculations.
|
||||||
@ -211,7 +210,7 @@ in this rapidly evolving field.
|
|||||||
|
|
||||||
A systematic search strategy was implemented on the Scopus database, aimed to encompass a broad spectrum of literature relevant
|
A systematic search strategy was implemented on the Scopus database, aimed to encompass a broad spectrum of literature relevant
|
||||||
to the use of smart medical devices for automated early warning score monitoring of outpatients.
|
to the use of smart medical devices for automated early warning score monitoring of outpatients.
|
||||||
The search focused on topics related to the research area, encompassing the examination of \Gls{ews}, hospital admission, care escalation,
|
The search focused on topics related to the research area, encompassing the examination of \Glspl{ews}, hospital admission, care escalation,
|
||||||
and medical emergencies in combination with IT automation, medical wearables and \Gls{iot}.
|
and medical emergencies in combination with IT automation, medical wearables and \Gls{iot}.
|
||||||
The Scopus database was chosen for its extensive coverage of scholarly literature across multiple disciplines.
|
The Scopus database was chosen for its extensive coverage of scholarly literature across multiple disciplines.
|
||||||
|
|
||||||
@ -251,11 +250,11 @@ TITLE-ABS-KEY(("patient" OR "clinical" OR "medical") AND ("deterioration" OR "in
|
|||||||
\end{center}
|
\end{center}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
An initial query on Scopus yielded a total of $N=1997$ records.
|
An initial query on Scopus yielded a total of $N_0=1997$ records.
|
||||||
After removing duplicates, $N=952$ records were excluded, resulting in $N=1045$ unique records.
|
After removing $n_d=952$ duplicates, the titles and abstracts of $N_s=1045$ records were screened.
|
||||||
Upon screening the titles and abstracts, $N=963$ records did not meet the inclusion criteria, leaving $N=82$ articles to be assessed for
|
Of these, $n_i=963$ items did not meet the inclusion criteria, leaving $N_a=82$ articles to be assessed for
|
||||||
eligibility in full text.
|
eligibility in full text.
|
||||||
Finally, after a thorough evaluation, $N=45$ articles were included for the literature review, providing insight into the current state of
|
Finally, after a thorough evaluation, $N=45$ articles were included in the literature review, providing insight into the current state of
|
||||||
research on the use of smart medical devices for automated early warning score monitoring in patients transitioning from ambulant or
|
research on the use of smart medical devices for automated early warning score monitoring in patients transitioning from ambulant or
|
||||||
hospital care.
|
hospital care.
|
||||||
Figure \ref{prisma-flowchart} shows the screening process.
|
Figure \ref{prisma-flowchart} shows the screening process.
|
||||||
@ -515,27 +514,19 @@ patients at home were identified.
|
|||||||
This highlights a crucial research gap and prompts the need for further investigation in this area, potentially warranting the development
|
This highlights a crucial research gap and prompts the need for further investigation in this area, potentially warranting the development
|
||||||
of an \Gls{ews} specialized for use outside of medical care facilities.
|
of an \Gls{ews} specialized for use outside of medical care facilities.
|
||||||
|
|
||||||
\subsubsection{Interpretation of Results}
|
\subsubsection{Conclusions}
|
||||||
|
|
||||||
Based on the findings, several key implications can be drawn.
|
Based on the conducted literature review, some key implications can be drawn.
|
||||||
Firstly, the improved availability of smart sensors and the demonstrated effectiveness of \Glspl{ews} in predicting deterioration in direct
|
The improved availability of smart sensors and the demonstrated effectiveness of \Glspl{ews} in predicting deterioration in direct
|
||||||
medical care settings warrant research into their utilization at home.
|
medical care settings warrant research into their utilization at home.
|
||||||
By remotely monitoring patients, it may be possible to identify early signs of deterioration, allowing for earlier dismissal from
|
Monitoring \Glspl{ews} remotely may make it possible to identify signs of deterioration early for patients dismissed from hospital.
|
||||||
hospital care and thereby freeing up valuable resources.
|
It could also hold the potential for significant resource savings, due to the relatively low cost of modern smart medical sensors and a reduction in
|
||||||
Additionally, this approach holds the potential to reduce the frequency of adverse clinical outcomes, as well as mortality rates.
|
workload for medical staff, compared to traditional on-site monitoring.
|
||||||
|
However, it is important to acknowledge the lack of research in this area, which calls for a feasibility study in this
|
||||||
However, it is important to acknowledge the lack of research on the use of \Glspl{ews} at home, which calls for a feasibility study in this
|
|
||||||
specific context.
|
specific context.
|
||||||
Such a study would need to address challenges such as the frequency of measurements required and the absence of immediate diagnosis
|
While such a study would need to address challenges such as the frequency of measurements required and the absence of immediate diagnosis
|
||||||
from qualified medical staff.
|
from qualified medical staff, it would contribute significantly to the existing body of knowledge and help advance the field of automated
|
||||||
Overcoming these obstacles is essential to ensure the safety and efficacy of automated remote patient monitoring in home-based settings.
|
early warning score monitoring in home-based care.
|
||||||
|
|
||||||
In conclusion, the literature review highlights the increasing interest in using smart medical devices and EWS for remote patient
|
|
||||||
monitoring, particularly in real-world scenarios.
|
|
||||||
The absence of studies evaluating the application of \Glspl{ews} for patients at home underscores the need for further investigation in this area.
|
|
||||||
Conducting a feasibility study to explore the practicality and challenges of implementing \Glspl{ews} in home-based care would contribute
|
|
||||||
significantly to the existing body of knowledge and help advance the field of automated early warning score monitoring in
|
|
||||||
non-medical care settings.
|
|
||||||
|
|
||||||
\subsection{Motivation}
|
\subsection{Motivation}
|
||||||
|
|
||||||
@ -560,17 +551,9 @@ Still, their integration with \Glspl{ews} remains under-explored, especially for
|
|||||||
While \Glspl{ews} have proven effective in hospitals and ambulant care facilities, the practicality of implementing them remotely, under real-life conditions,
|
While \Glspl{ews} have proven effective in hospitals and ambulant care facilities, the practicality of implementing them remotely, under real-life conditions,
|
||||||
leveraging state-of-the-art smart medical devices, remains uncertain.
|
leveraging state-of-the-art smart medical devices, remains uncertain.
|
||||||
|
|
||||||
Existing research on \Gls{rpm} predominantly focuses on the technology's capability for vitals monitoring, often sidelining the integration and automated calculation of \Glspl{ews}.
|
Existing research on \Gls{rpm} predominantly focuses on the technology's capability for vital signs monitoring, often sidelining the integration and automated calculation of \Glspl{ews}.
|
||||||
Consequently, there is a knowledge gap concerning the system's effectiveness, feasibility, and challenges when deployed in everyday environments,
|
|
||||||
particularly in patients' homes or during their daily routines.
|
|
||||||
|
|
||||||
There is a lack of available software which integrates \Gls{rpm} with \Glspl{ews} while being feasible for everyday use,
|
|
||||||
as well as a general knowledge gap in exploring the usefulness of this approach.
|
|
||||||
|
|
||||||
Existing research on \Gls{rpm} predominantly focuses on the technology's capability for vitals monitoring and often sidelines
|
|
||||||
the integration and automated calculation of \Glspl{ews}.
|
|
||||||
This results in a knowledge gap concerning the effectiveness, feasibility, and design challenges of a system which combines both concepts.
|
This results in a knowledge gap concerning the effectiveness, feasibility, and design challenges of a system which combines both concepts.
|
||||||
Moreover, there is a lack of available software which integrates \Gls{rpm} with \Glspl{ews} aimed at everyday use by patients.
|
Moreover, there is a lack of available software implementing such a system, while being usable by patients at home or during their daily routines.
|
||||||
|
|
||||||
\subsection{Research goals}
|
\subsection{Research goals}
|
||||||
|
|
||||||
@ -580,7 +563,7 @@ assessments.
|
|||||||
Specifically, the following questions are asked:
|
Specifically, the following questions are asked:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Can an \Gls{rwsm} system, feasible for everyday use, be implented using smart medical devices commercially available today?
|
\item Can an \Gls{rwsm} system, feasible for everyday use, be implemented using smart medical devices commercially available today?
|
||||||
\item What are the technical and operational challenges of implementing such a system?
|
\item What are the technical and operational challenges of implementing such a system?
|
||||||
\item Can existing, validated \Glspl{ews} be utilized in \Gls{rwsm}?
|
\item Can existing, validated \Glspl{ews} be utilized in \Gls{rwsm}?
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
@ -641,7 +624,7 @@ of \Gls{rwsm} in everyday settings, using current technology.
|
|||||||
\section{Medwings}
|
\section{Medwings}
|
||||||
|
|
||||||
The initial step in conceptualizing an \Gls{rwsm} system was to choose an appropriate \Gls{ews} to use for patient health evaluation.
|
The initial step in conceptualizing an \Gls{rwsm} system was to choose an appropriate \Gls{ews} to use for patient health evaluation.
|
||||||
Three widely used \Glspl{ews} emerged as potential candidates: the \Gls{pews}\cite{monaghan_detecting_2005}, \Gls{news2}\cite{noauthor_national_2017}
|
Three widely used \Glspl{ews} were evaluated as potential candidates: the \Gls{pews}\cite{monaghan_detecting_2005}, \Gls{news2}\cite{noauthor_national_2017}
|
||||||
and \Gls{mews}\cite{subbe_validation_2001}.
|
and \Gls{mews}\cite{subbe_validation_2001}.
|
||||||
All three are established as being effective in predicting clinical deterioration.
|
All three are established as being effective in predicting clinical deterioration.
|
||||||
\Gls{pews} was excluded due to its application being limited to pediatric patients.
|
\Gls{pews} was excluded due to its application being limited to pediatric patients.
|
||||||
@ -678,7 +661,7 @@ measuring a user's \Gls{ecg} and \Gls{spo2} among other things.
|
|||||||
A \textit{Withings BPM Core}\cite{noauthor_bpm_nodate}, displayed in Figure~\ref{fig:withings-bpm-core}, was also procured.
|
A \textit{Withings BPM Core}\cite{noauthor_bpm_nodate}, displayed in Figure~\ref{fig:withings-bpm-core}, was also procured.
|
||||||
It is a digital blood pressure meter capable of recording blood pressure and heart rate.
|
It is a digital blood pressure meter capable of recording blood pressure and heart rate.
|
||||||
The third and last device used was a \textit{Withings Thermo}\cite{noauthor_smart_nodate}, a contactless digital thermometer
|
The third and last device used was a \textit{Withings Thermo}\cite{noauthor_smart_nodate}, a contactless digital thermometer
|
||||||
used to measure body temperature. A picture of a Whithings Thermo can be seen in Figure~\ref{fig:withings-thermo}.
|
used to measure body temperature. A picture of a Withings Thermo can be seen in Figure~\ref{fig:withings-thermo}.
|
||||||
|
|
||||||
\begin{figure}[!ht]
|
\begin{figure}[!ht]
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@ -707,7 +690,7 @@ used to measure body temperature. A picture of a Whithings Thermo can be seen in
|
|||||||
\end{center}
|
\end{center}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
All three devices are able synchronize vitals data with the Withings Cloud over the internet, as they connect to the user's phone
|
All three devices are capable of synchronizing vitals data with the Withings Cloud over the internet, as they connect to the user's phone
|
||||||
using a mobile application provided by Withings.
|
using a mobile application provided by Withings.
|
||||||
|
|
||||||
The chosen selection of devices allows measurements and programmatic access to the vital parameters required to determine a
|
The chosen selection of devices allows measurements and programmatic access to the vital parameters required to determine a
|
||||||
@ -716,8 +699,15 @@ staff.
|
|||||||
Additionally, the inclusion of the Withings Scanwatch came with a notable limitation: although the device possesses the capability
|
Additionally, the inclusion of the Withings Scanwatch came with a notable limitation: although the device possesses the capability
|
||||||
to measure a patient's respiration rate, this functionality is restricted to nocturnal measurements, taken while the user is asleep.
|
to measure a patient's respiration rate, this functionality is restricted to nocturnal measurements, taken while the user is asleep.
|
||||||
|
|
||||||
After consulting with several medical professionals, a decision was made to forgo the traditional respiration rate measurement, as well as the AVPU parameter in the \Gls{mews} calculation.
|
To address these issues, a decision was made to forgo the traditional respiration rate measurement, as well as the AVPU parameter in the \Gls{mews} calculation.
|
||||||
Instead, a custom \textit{respiration score} was introduced, shown in Table~\ref{tab:respiration-score}, which represents any shortness of breath reported by the patient.
|
Instead, a custom \textit{respiration score} was introduced, shown in Table~\ref{tab:respiration-score}, which represents any shortness of breath reported by the patient.
|
||||||
|
To ensure the clinical soundness of these modifications, expert consultations were sought from an anesthesiologist and a pediatrician, each with over 30 years of practical experience
|
||||||
|
in intensive care medicine.
|
||||||
|
The pediatrician affirmed that due to the difficulty of accurately measuring respiration rate in practice, an audiovisual inspection of breathing, as well as patient-reported symptoms of shortness of breath,
|
||||||
|
are often utilized as reliable substitutes.
|
||||||
|
Following the expert consultation, the patient's \Gls{spo2} level was used to replace the respiration rate in combination with the described respiration score.
|
||||||
|
The anesthesiologist affirmed that the \Gls{avpu} score is inherently unsuited for automated electronic measurement, as it requires a human evaluation of the patient's level of consciousness.
|
||||||
|
Given that a patient with a compromised level of consciousness would be unable to interact with the Medwings system, under expert guidance the decision was made to omit the \Gls{avpu} score entirely.
|
||||||
|
|
||||||
\begin{table}[!ht]
|
\begin{table}[!ht]
|
||||||
\centering
|
\centering
|
||||||
@ -736,8 +726,6 @@ Instead, a custom \textit{respiration score} was introduced, shown in Table~\ref
|
|||||||
\caption{\label{tab:respiration-score}Scoring table for Medwings' custom respiration score}
|
\caption{\label{tab:respiration-score}Scoring table for Medwings' custom respiration score}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
To replace the respiration rate in the \Gls{mews} calculation, we took into account the patient's \Gls{spo2}, as well as the described respiration score.
|
|
||||||
|
|
||||||
\subsection{Requirements}
|
\subsection{Requirements}
|
||||||
|
|
||||||
Following the selection of an \Gls{ews} and suitable medical sensors, a comprehensive \Gls{rwsm} application was conceptualized,
|
Following the selection of an \Gls{ews} and suitable medical sensors, a comprehensive \Gls{rwsm} application was conceptualized,
|
||||||
@ -793,7 +781,7 @@ Opting for this format offers several advantages: the primary benefit is its inh
|
|||||||
on a wide range of devices such as mobile phones and personal computers.
|
on a wide range of devices such as mobile phones and personal computers.
|
||||||
|
|
||||||
Adhering to the classic client-server paradigm, the Medwings design prioritizes centralized data storage and processing.
|
Adhering to the classic client-server paradigm, the Medwings design prioritizes centralized data storage and processing.
|
||||||
This architecture was found to be benificial for simplifying data synchronization, facilitating secure authentication,
|
This architecture was found to be beneficial for simplifying data synchronization, facilitating secure authentication,
|
||||||
and ensuring high system availability.
|
and ensuring high system availability.
|
||||||
|
|
||||||
Django, a high-level Python web framework, was employed to develop both the frontend and backend components of the Medwings application.
|
Django, a high-level Python web framework, was employed to develop both the frontend and backend components of the Medwings application.
|
||||||
@ -843,7 +831,7 @@ To separate the different functional aspects of Medwings according to responsibi
|
|||||||
\item \code{medwings}
|
\item \code{medwings}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Each module defines classes representing backend logic, database schemas and user interface elements pertaining to its specific function.
|
Each module defines classes representing backend logic, database schemata and user interface elements pertaining to its specific function.
|
||||||
Implementation details are encapsulated within these classes, while public interfaces are exposed to external program code to provide each module's core functionality.
|
Implementation details are encapsulated within these classes, while public interfaces are exposed to external program code to provide each module's core functionality.
|
||||||
|
|
||||||
The \code{core} module forms the backbone of the application.
|
The \code{core} module forms the backbone of the application.
|
||||||
@ -909,9 +897,13 @@ The patient can now log in to the Medwings website and begin using the system to
|
|||||||
\end{center}
|
\end{center}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The \code{medwings} module, pivotal to the core functionalty of Medwings, defines the data model used to represent and store the various vital signs handled by the application.
|
Managing a user in Medwings requires the respective user's state to be mirrored by two other services, Withings and Gotify.
|
||||||
|
The \code{authentication} module ensures that user accounts across all three services are kept in sync.
|
||||||
|
Particularly during user creation, user accounts must be linked to Withings, created on the Gotify server and finally saved to the Medwings database.
|
||||||
|
Various integrity checks, such as when the user aborts the registration process midway, are put in place to prevent diverging user states across the three services.
|
||||||
|
|
||||||
|
The \code{medwings} module, pivotal to the core functionality of Medwings, defines the data model used to represent and store the various vital signs handled by the application.
|
||||||
Furthermore, it provides interfaces to access the data, as well as the algorithm used to calculate the MEWS, which is listed in Algorithm~\ref{algo:mews}.
|
Furthermore, it provides interfaces to access the data, as well as the algorithm used to calculate the MEWS, which is listed in Algorithm~\ref{algo:mews}.
|
||||||
% TODO add some more text here
|
|
||||||
|
|
||||||
\begin{centering}
|
\begin{centering}
|
||||||
\begin{tcolorbox}[
|
\begin{tcolorbox}[
|
||||||
@ -962,6 +954,23 @@ Furthermore, it provides interfaces to access the data, as well as the algorithm
|
|||||||
\end{tcolorbox}
|
\end{tcolorbox}
|
||||||
\end{centering}
|
\end{centering}
|
||||||
|
|
||||||
|
A MEWS calculation should represent the patient's overall physiological state at -- ideally -- a discrete point in time.
|
||||||
|
Naturally, there is a delay from when a measurement is taken with a device until it can be retrieved from the API.
|
||||||
|
The transmission delays are mentioned in the Withings public API documentation:
|
||||||
|
\enquote{Delays are typically less than two minutes, but it can be longer.}\cite{noauthor_keep_nodate}.
|
||||||
|
However, in some cases, the measurements taken on a device do not get pushed to the Withings Cloud until much later.
|
||||||
|
While the cause for these longer than normal delays and missing data points is unknown and outside of the control of Medwings,
|
||||||
|
these edge cases had to be taken into account.
|
||||||
|
The time it takes a patient to take measurements using all three devices must also be accounted for.
|
||||||
|
Therefore, Medwings enforces a maximum allowed time difference of ten minutes between measurements of the different
|
||||||
|
vitals records used to calculate the \Gls{mews}.
|
||||||
|
If a set of vitals measurements is, across all records in the set, spaced further apart than ten minutes, no \Gls{mews} record
|
||||||
|
is calculated, and the user is shown an error message.
|
||||||
|
|
||||||
|
Vitals records kept in the Medwings database must be synchronized with all records available on the Withings cloud.
|
||||||
|
Regularly recurring, as well as on-demand data synchronization hooks are used by the \code{medwings} module to keep
|
||||||
|
the Medwings database up to date, while database constraints ensure validity of imported data and prevent duplication of existing records.
|
||||||
|
|
||||||
In order to send push notifications to mobile devices, Medwings leverages \textit{Gotify} -- a dedicated notification microservice\cite{noauthor_gotify_nodate}.
|
In order to send push notifications to mobile devices, Medwings leverages \textit{Gotify} -- a dedicated notification microservice\cite{noauthor_gotify_nodate}.
|
||||||
Gotify is composed of a web server component, and a mobile app acting as the client software.
|
Gotify is composed of a web server component, and a mobile app acting as the client software.
|
||||||
The server exposes its own \Gls{api}, which allows external applications like Medwings to dispatch push notifications programmatically.
|
The server exposes its own \Gls{api}, which allows external applications like Medwings to dispatch push notifications programmatically.
|
||||||
@ -1033,7 +1042,7 @@ A holistic representation of the Medwings data model is shown in Figure~\ref{fig
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
At its heart lies the \code{User} entity: it forms the nexus to which all vitals data and user information is linked.
|
At its heart lies the \code{User} entity: it forms the nexus to which all vitals data and user information is linked.
|
||||||
Withings API tokens are stored in the \code{RefreshToken} and \code{AccessToken} entities, while the \code{GotifyUser} and \code{GotifyAccount} entities retain the Gotify API credentials.
|
Withings API tokens are stored in the \code{RefreshToken} and \code{AccessToken} entities, while the \code{GotifyUser} and the \code{GotifyAccount} entities retain the Gotify API credentials.
|
||||||
The numerous vital signs, as well as the \Gls{mews} record which can potentially be calculated based on them, are also represented.
|
The numerous vital signs, as well as the \Gls{mews} record which can potentially be calculated based on them, are also represented.
|
||||||
The \code{Profile} table stores additional medically relevant patient information as supplied during user registration.
|
The \code{Profile} table stores additional medically relevant patient information as supplied during user registration.
|
||||||
|
|
||||||
@ -1051,42 +1060,10 @@ process in Section~\ref{sec:modules}.
|
|||||||
The centralized server components, including the Gotify server, a task scheduler used to schedule sending notifications and the Medwings application code itself are deployed
|
The centralized server components, including the Gotify server, a task scheduler used to schedule sending notifications and the Medwings application code itself are deployed
|
||||||
on a publicly accessible web server using a Docker container environment.
|
on a publicly accessible web server using a Docker container environment.
|
||||||
|
|
||||||
\subsubsection{Design Challenges}\label{sec:design-challenges}
|
|
||||||
|
|
||||||
Since managing a user in Medwings requires the respective user's state to be mirrored by two other services, Withings and Gotify, keeping user accounts across
|
|
||||||
all three services in sync presents a challenge.
|
|
||||||
Particularly during user creation, user accounts must be linked to Withings, created on the Gotify server and finally saved to the Medwings database.
|
|
||||||
Various integrity checks, such as when the user aborts the registration process midway, were put in place to prevent diverging user states across the three services
|
|
||||||
and overcome this challenge.
|
|
||||||
|
|
||||||
Similarly, vitals records kept in the Medwings database must be synchronized with all records available on the Withings cloud.
|
|
||||||
Regularly recurring, as well as on-demand data synchronization hooks were implemented to keep the Medwings database up to date,
|
|
||||||
while database constraints ensure validity of imported data and prevent duplication of existing records.
|
|
||||||
|
|
||||||
The non-enterprise Withings API enforces a rate limit of 120 requests per minute.
|
|
||||||
Medwings polls the API regularly to retrieve the latest health data for patients.
|
|
||||||
At scale, with many patient users, the rate limit would quickly be reached.
|
|
||||||
The Withing API does provide functionality to notify client applications upon availability of new data, making it possible to avoid polling.
|
|
||||||
Given that Medwings was only used by a single patient user during the trial phase, falling back to polling was an acceptable compromise to lower complexity
|
|
||||||
while still operating within the rate limit.
|
|
||||||
|
|
||||||
A MEWS calculation should represent the patient's overall physiological state at -- ideally -- a discrete point in time.
|
|
||||||
Naturally, there is a delay from when a measurement is taken with a device until it can be retrieved from the API.
|
|
||||||
The transmission delays are mentioned in the Withings public API documentation:
|
|
||||||
\enquote{Delays are typically less than two minutes, but it can be longer.}\cite{noauthor_keep_nodate}.
|
|
||||||
However, in some cases, the measurements taken on a device do not get pushed to the Withings Cloud until much later.
|
|
||||||
While the cause for these longer than normal delays and missing data points is unknown and outside of the control of Medwings,
|
|
||||||
these edge cases had to be taken into account.
|
|
||||||
The time it takes a patient to take measurements using all three devices must also be accounted for.
|
|
||||||
Therefore, Medwings enforces a maximum allowed time difference of ten minutes between measurements of the different
|
|
||||||
vitals records used to calculate the \Gls{mews}.
|
|
||||||
If a set of vitals measurements is, across all records in the set, spaced further apart than ten minutes, no \Gls{mews} record
|
|
||||||
is calculated, and the user is shown an error message.
|
|
||||||
|
|
||||||
\section{System test and trial}
|
\section{System test and trial}
|
||||||
|
|
||||||
Following the development and deployment of the application, Medwings underwent a performance and usability study.
|
Following the development and deployment of the application, Medwings underwent a performance and usability study.
|
||||||
Over the course of one week, a test subject, impersonating a patient, used the application several times a day.
|
Over the course of one week, a male test subject aged 29, impersonated a patient by using the application several times a day.
|
||||||
|
|
||||||
Each day, five notifications were dispatched.
|
Each day, five notifications were dispatched.
|
||||||
Starting at 10 AM, one notification was sent every three hours.
|
Starting at 10 AM, one notification was sent every three hours.
|
||||||
@ -1158,7 +1135,7 @@ Following an $S_1$, $B_1$ or $T_1$ failure, the subject repeatedly carried out m
|
|||||||
Subsequent failures caused by the device aborting measurements were also recorded.
|
Subsequent failures caused by the device aborting measurements were also recorded.
|
||||||
The count of \enquote{device aborted measurement}-failures of each device was compared to the total number of measurement attempts using that device.
|
The count of \enquote{device aborted measurement}-failures of each device was compared to the total number of measurement attempts using that device.
|
||||||
|
|
||||||
As explained in Section~\ref{sec:design-challenges}, following a successful reading, a device may fail to push the measurement data to the Withings
|
As explained in Section~\ref{sec:modules}, following a successful reading, a device may fail to push the measurement data to the Withings
|
||||||
Cloud within the ten minute validity range for a MEWS calculation imposed by Medwings.
|
Cloud within the ten minute validity range for a MEWS calculation imposed by Medwings.
|
||||||
Depending on whether the Scanwatch, BPM Core or Thermo failed to synchronize its data within the allowed time, an $S_2$, $B_2$ or $T_2$ failure was recorded respectively.
|
Depending on whether the Scanwatch, BPM Core or Thermo failed to synchronize its data within the allowed time, an $S_2$, $B_2$ or $T_2$ failure was recorded respectively.
|
||||||
The number of measurement synchronization failures which occurred was compared to the number of successfully synchronized measurements for each device.
|
The number of measurement synchronization failures which occurred was compared to the number of successfully synchronized measurements for each device.
|
||||||
@ -1169,12 +1146,12 @@ Additionally, the average time taken to complete all three vitals measurements w
|
|||||||
If the subject did not visit the Medwings website or carry out any vitals measurements despite being prompted by a notification, a $P_1$ failure was noted.
|
If the subject did not visit the Medwings website or carry out any vitals measurements despite being prompted by a notification, a $P_1$ failure was noted.
|
||||||
Finally, if the patient failed to carry out all three required vitals measurements within the ten minute time limit, a $P_2$ failure was recorded.
|
Finally, if the patient failed to carry out all three required vitals measurements within the ten minute time limit, a $P_2$ failure was recorded.
|
||||||
|
|
||||||
Preceeding each MEWS measurement, metrics quantifying the quality of the connection between the subject's end device and other devices across the internet were measured.
|
Preceding each MEWS measurement, metrics quantifying the quality of the connection between the subject's end device and other devices across the internet were measured.
|
||||||
This was done by sampling and averaging the data transmission rates, both uplink and downlink, as well as the connection round trip times from the end device to a distant reference server,
|
This was done by sampling and averaging the data transmission rates, both uplink and downlink, as well as the connection round trip times from the end device to a distant reference server,
|
||||||
the location of which was kept constant throughout the trial.
|
the location of which was kept constant throughout the trial.
|
||||||
The collected connection metrics were compared with the occurrence of measurement synchronization failures.
|
The collected connection metrics were compared with the occurrence of measurement synchronization failures.
|
||||||
|
|
||||||
\subsection{Data Presentation}
|
\subsection{Results}
|
||||||
|
|
||||||
The trial period encompassed seven days, on each of which five notifications were dispatched to the patient.
|
The trial period encompassed seven days, on each of which five notifications were dispatched to the patient.
|
||||||
Thus, an overall of $N=35$ system interactions were recorded.
|
Thus, an overall of $N=35$ system interactions were recorded.
|
||||||
@ -1183,7 +1160,7 @@ The patient was at home during $26$ of these, and on the go in all other cases.
|
|||||||
Seven $P_1$ measurement failures occurred, wherein the patient did not react to a received notification by taking measurements.
|
Seven $P_1$ measurement failures occurred, wherein the patient did not react to a received notification by taking measurements.
|
||||||
Out of these, five occurred while the patient was on the go and, notably, four $P_1$ failures were consecutive, stemming from a period of 24 hours
|
Out of these, five occurred while the patient was on the go and, notably, four $P_1$ failures were consecutive, stemming from a period of 24 hours
|
||||||
during which the patient did not have access to the smart devices.
|
during which the patient did not have access to the smart devices.
|
||||||
No $P_2$ measurement failures occured during the trial.
|
No $P_2$ measurement failures occurred during the trial.
|
||||||
The patient reported feeling reluctant about taking measurements using the devices in public spaces, compared to the privacy of their home.
|
The patient reported feeling reluctant about taking measurements using the devices in public spaces, compared to the privacy of their home.
|
||||||
|
|
||||||
In total, vitals were measured using all three devices in $28$ cases.
|
In total, vitals were measured using all three devices in $28$ cases.
|
||||||
@ -1198,7 +1175,7 @@ Figure~\ref{fig:measurement-stats} visualizes the overall measurement and failur
|
|||||||
\end{center}
|
\end{center}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Out of $84$ successful individual vitals measurements across all devices throughout the trial, $18\%$ took longer than premitted by Medwings to synchronize with the Withings Cloud.
|
Out of $84$ successful individual vitals measurements across all devices throughout the trial, $18\%$ took longer than permitted by Medwings to synchronize with the Withings Cloud.
|
||||||
Particularly while on the go, synchronization was prone to taking too long: $25\%$ of measurements resulted in synchronization failure, compared
|
Particularly while on the go, synchronization was prone to taking too long: $25\%$ of measurements resulted in synchronization failure, compared
|
||||||
to $11\%$ at home.
|
to $11\%$ at home.
|
||||||
Especially the BPM Core and Thermo devices suffered from slow synchronization times: in a total of $15$ synchronization timeouts, $n_{B_2} = 7$ were caused
|
Especially the BPM Core and Thermo devices suffered from slow synchronization times: in a total of $15$ synchronization timeouts, $n_{B_2} = 7$ were caused
|
||||||
@ -1216,10 +1193,10 @@ The Withings Thermo did not abort any measurements ($n_{T_1} = 0$).
|
|||||||
\end{center}
|
\end{center}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Figure~\ref{fig:connection-boxplot} illustrates the comparative boxplots for the \gls{downlink-datarate}, \gls{uplink-datarate}, and \Gls{rtt} connection metrics when
|
Figure~\ref{fig:connection-boxplot} illustrates the comparative box plots for the \gls{downlink-datarate}, \gls{uplink-datarate}, and \Gls{rtt} connection metrics when
|
||||||
the patient was at home versus on the go.
|
the patient was at home versus on the go.
|
||||||
While there are evident differences in the distributions of these metrics between the two environments, the points representing synchronization failures do not
|
While there are evident differences in the distributions of these metrics between the two environments, the points representing synchronization failures do not
|
||||||
predominantly cluster around areas of low datarate or high \Gls{rtt}.
|
predominantly cluster around areas of low data rate or high \Gls{rtt}.
|
||||||
|
|
||||||
\begin{figure}[!ht]
|
\begin{figure}[!ht]
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@ -1231,7 +1208,7 @@ predominantly cluster around areas of low datarate or high \Gls{rtt}.
|
|||||||
A reaction delay $t_r$ existed from when a notification was dispatched until the subject visited the Medwings website to take measurements.
|
A reaction delay $t_r$ existed from when a notification was dispatched until the subject visited the Medwings website to take measurements.
|
||||||
The average ($\overline{t_{r,\text{home}}} = 36\text{ min}$) and median ($M_{t_{r,\text{home}}} = 33\text{ min}$) delay was significantly lower
|
The average ($\overline{t_{r,\text{home}}} = 36\text{ min}$) and median ($M_{t_{r,\text{home}}} = 33\text{ min}$) delay was significantly lower
|
||||||
when the patient was at home, compared to when they were out of the house ($\overline{t_{r,\text{on the go}}} = 68\text{ min}$, $M_{t_{r,\text{on the go}}} = 70\text{ min}$).
|
when the patient was at home, compared to when they were out of the house ($\overline{t_{r,\text{on the go}}} = 68\text{ min}$, $M_{t_{r,\text{on the go}}} = 70\text{ min}$).
|
||||||
The patient reported feeling fatigued by the regularity of the notifications from the second trial day onwards.
|
The patient reported feeling fatigued by the regularity of the notifications from the second trial day onward.
|
||||||
|
|
||||||
The average time it took the patient to carry out all three measurements was $4.5$ minutes, with no significant difference between the \enquote{at home} and
|
The average time it took the patient to carry out all three measurements was $4.5$ minutes, with no significant difference between the \enquote{at home} and
|
||||||
\enquote{on the go} environments.
|
\enquote{on the go} environments.
|
||||||
@ -1245,29 +1222,50 @@ Both outliers were detected by Medwings in the form of an elevated \Gls{mews}.
|
|||||||
|
|
||||||
The complete trial data is listed in Appendix~\ref{apdx:trial-data}.
|
The complete trial data is listed in Appendix~\ref{apdx:trial-data}.
|
||||||
|
|
||||||
\subsection{Interpretation}
|
\newpage
|
||||||
|
\section{Discussion}
|
||||||
|
|
||||||
The system was successful in retrieving a wide range of vital signs from the patient at regular intervals, and detected abnormal readings
|
The usability study of the Medwings system provided valuable insights into the system's performance, reliability, and user interaction experience.
|
||||||
|
Classifying measurement failures into types helped to identify bottlenecks and other areas for improvement.
|
||||||
|
Overall, the Medwings system was successful in retrieving a wide range of vital signs from the patient at regular intervals, and detected abnormal readings
|
||||||
using the \Gls{mews}.
|
using the \Gls{mews}.
|
||||||
All \Gls{mews} calculations carried out by Medwings resulted in the correct value based on the recorded vitals data.
|
The system successfully aggregated data from multiple sources to compute the \Gls{mews}, and all \Gls{mews} calculations carried out by Medwings resulted in
|
||||||
|
the correct value based on the recorded vitals data.
|
||||||
Both at home and on the go, the patient's vital parameters could be monitored using the system.
|
Both at home and on the go, the patient's vital parameters could be monitored using the system.
|
||||||
|
While at home, the patient was able to take all vitals measurements quickly and accommodate the measurement process into their daily routine, leading to a
|
||||||
|
high rate of interaction with the system.
|
||||||
|
Within the limited trial period, Medwings was able to detect abnormal readings effectively.
|
||||||
|
|
||||||
|
A significant portion of recorded vitals data, however, could not successfully be converted into \Gls{mews} records.
|
||||||
|
These calculation failures pertained to device synchronization delay with the Withings Cloud, highlighting a critical issue.
|
||||||
|
The BPM Core and Thermo devices synchronize only when turned on through manual interaction.
|
||||||
|
This leads to longer sync times for these devices, inhibiting Medwings from accessing new vitals data swiftly and performing a timely \Gls{mews} calculation.
|
||||||
|
A timeout period more lenient than the ten minute window imposed by Medwings may reduce the rate of synchronization failures, but it may also negatively
|
||||||
|
impact the validity of a \Gls{mews} record if implemented.
|
||||||
|
The study found that connection metrics such as data transmission rates and round-trip times did not show a significant correlation with synchronization failures.
|
||||||
|
This suggests that other factors, likely server-side processing delays on the Withings Cloud, contribute to these failures.
|
||||||
|
|
||||||
|
The study also revealed that the system is generally more reliable when the patient is at home, as indicated by the low interaction rate while on the go.
|
||||||
|
One reason was that carrying a a range of vitals sensors while out of the house is not always feasible.
|
||||||
|
Another was the subject's reluctance to take measurements in public spaces, suggesting a need for more discreet solutions for on the go vitals monitoring.
|
||||||
|
However, when measurements were made in the mobile environment, Medwings was successful at aggregating the measured data and, aside from the aforementioned
|
||||||
|
synchronization issues, was able to calculate the subject's \Gls{mews}.
|
||||||
|
|
||||||
While at home, the test subject was able to adhere well to the measurement schedule, missing measurements only twice throughout the week.
|
While at home, the test subject was able to adhere well to the measurement schedule, missing measurements only twice throughout the week.
|
||||||
With a three-hour window to respond to each notification, the average response time of 36 minutes and the minimal number of $P_1$ failures show that the
|
With a three-hour window to respond to each notification, the average response time of 36 minutes and the minimal number of $P_1$ failures show that the
|
||||||
4.5-minute measurements were manageable within the home setting.
|
4.5-minute measurements were manageable within the home setting.
|
||||||
|
|
||||||
On the go however, a significant portion of the received notifications were not followed up by vitals measurements.
|
On the go however, a significant portion of the received notifications were not followed up by vitals measurements.
|
||||||
When leaving the house for extended periods of time, the subject was not always able to bring the whole array of medical devices with them.
|
When leaving the house for extended periods of time, the subject was not always able to bring the whole array of medical devices with them.
|
||||||
Additionally, taking measurements could not always be done discreetly in public spaces, and finding a private area to take measurements
|
Additionally, taking measurements could not always be done discreetly in public spaces, and finding a private area to take measurements
|
||||||
was not always possible.
|
was not always possible.
|
||||||
This lead to a high rate of $P_1$ failures on the go, coupled with a comparatively long average reaction time of $\overline{t_{r,\text{on the go}}} = 68\text{ minutes}$.
|
This lead to a high rate of $P_1$ failures on the go, coupled with a comparatively long average reaction time of $\overline{t_{r,\text{on the go}}} = 68\text{ minutes}$.
|
||||||
|
|
||||||
The rate at which device synchronization failures occured was high, with $39\%$ of successful measurements not being pushed to the Withings cloud in time
|
The rate at which device synchronization failures occurred was high, with $39\%$ of successful measurements not being pushed to the Withings cloud in time
|
||||||
for a \Gls{mews} calculation to be valid.
|
for a \Gls{mews} calculation to be valid.
|
||||||
A combination of three factors was determined to be the cause for this.
|
A combination of three factors was determined to be the cause for this.
|
||||||
|
|
||||||
Firstly, while the Scanwatch is constantly connected to the patient's phone, the BPM Core and Thermo devices only establish
|
Firstly, while the Scanwatch is constantly connected to the patient's phone, the BPM Core and Thermo devices only establish
|
||||||
their bluetooth connection intermittently.
|
their Bluetooth connection intermittently.
|
||||||
Presumably, measurement data updates from these devices are sent to the phone less frequently than for the Scanwatch.
|
Presumably, measurement data updates from these devices are sent to the phone less frequently than for the Scanwatch.
|
||||||
This is strongly underlined by the fact that $93\%$ of all synchronization timeouts were caused by the BPM Core or Thermo.
|
This is strongly underlined by the fact that $93\%$ of all synchronization timeouts were caused by the BPM Core or Thermo.
|
||||||
|
|
||||||
@ -1287,10 +1285,7 @@ Ultimately, while $61\%$ of notifications to which the patient responded did res
|
|||||||
suggests that routing data from the device, to the mobile app, to the Withings cloud, and finally to the Medwings server introduces substantial delays,
|
suggests that routing data from the device, to the mobile app, to the Withings cloud, and finally to the Medwings server introduces substantial delays,
|
||||||
thereby affecting the system's usability for its near-real-time calculation requirement.
|
thereby affecting the system's usability for its near-real-time calculation requirement.
|
||||||
|
|
||||||
\newpage
|
In terms of its software design, the Medwings application successfully met its predetermined software requirements.
|
||||||
\section{Evaluation}
|
|
||||||
|
|
||||||
The Medwings application successfully met its predetermined software requirements.
|
|
||||||
The system demonstrated robust user authentication mechanisms and offered portability by being accessible on mobile phones.
|
The system demonstrated robust user authentication mechanisms and offered portability by being accessible on mobile phones.
|
||||||
Additionally, it provided an intuitive interface for data visualization.
|
Additionally, it provided an intuitive interface for data visualization.
|
||||||
Vital signs were collected and stored automatically from all three Withings smart medical sensors, and the respiration score was able to be determined interactively.
|
Vital signs were collected and stored automatically from all three Withings smart medical sensors, and the respiration score was able to be determined interactively.
|
||||||
@ -1298,31 +1293,11 @@ The system was consistently available and ensured data validity, while maintaini
|
|||||||
While certain challenges were encountered during the usability trial, the software's overarching objectives in terms of functional and non-functional
|
While certain challenges were encountered during the usability trial, the software's overarching objectives in terms of functional and non-functional
|
||||||
requirements were successfully achieved.
|
requirements were successfully achieved.
|
||||||
|
|
||||||
The usability study of the Medwings system provided valuable insights into the system's performance, reliability, and user interaction experience.
|
% TODO add comparison to similar works
|
||||||
Classifying measurement failures into types helped to identify bottlenecks and other areas for improvement.
|
%While some research exists on IoT-device monitoring in laboratory settings\cite{anzanpour_internet_2015, sahu_internet--things-enabled_2022},
|
||||||
Overall, the system performed well in obtaining vitals readings regularly from a patient test subject.
|
%Medwings extends this to real-world environments.
|
||||||
The system successfully aggregated data from multiple sources to compute the \Gls{mews}, with all calculations being accurate.
|
|
||||||
At home, the patient was able to take all vitals measurements quickly and accommodate the measurement process into their daily routine, leading to a
|
|
||||||
high rate of interaction with the system.
|
|
||||||
Within the limited trial period, Medwings was able to detect abnormal readings effectively.
|
|
||||||
|
|
||||||
A significant portion of recorded vitals data, however, could not successfully be converted into \Gls{mews} records.
|
|
||||||
These calculation failures pertained to device synchronization delay with the Withings Cloud, highlighting a critical issue.
|
|
||||||
The BPM Core and Thermo devices synchronize only when turned on through manual interaction.
|
|
||||||
This leads to longer sync times for these devices, inhibiting Medwings from accessing new vitals data swiftly and performing a timely \Gls{mews} calculation.
|
|
||||||
A timeout period more lenient than the ten minute window imposed by Medwings may reduce the rate of synchronization failures, but it may also negatively
|
|
||||||
impact the validity of a \Gls{mews} record if implemented.
|
|
||||||
The study found that connection metrics such as data transmission rates and round-trip times did not show a significant correlation with synchronization failures.
|
|
||||||
This suggests that other factors, likely server-side processing delays on the Withings Cloud, contribute to these failures.
|
|
||||||
|
|
||||||
The study also revealed that the system is generally more reliable when the patient is at home, as indicated by the low interaction rate while on the go.
|
|
||||||
One reason was that carrying a a range of vitals sensors while out of the house is not always feasible.
|
|
||||||
Another was the subject's reluctance to take measurements in public spaces, suggesting a need for more discreet solutions for on the go vitals monitoring.
|
|
||||||
However, when measurements were made in the mobile environment, Medwings was successful at aggregating the measured data and, aside from the aforementioned
|
|
||||||
synchronization issues, was able to calculate the subject's \Gls{mews}.
|
|
||||||
|
|
||||||
%Patients appreciate the face-to-face aspect of early warning score monitoring as it allows for reassurance, social interaction, and gives them further opportunity to ask questions about their medical care\cite{downey_patient_2018}.
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
\subsection{Limitations}
|
\subsection{Limitations}
|
||||||
|
|
||||||
Several limitations of the current study and the Medwings system must be noted.
|
Several limitations of the current study and the Medwings system must be noted.
|
||||||
@ -1336,15 +1311,36 @@ Due to time constraints, the trial period was limited to lasting only one week,
|
|||||||
bias in the gathered data.
|
bias in the gathered data.
|
||||||
|
|
||||||
Measurement prompts were dispatched every 3 hours during the day. This allows for just a restricted, intermittent view of a patient's
|
Measurement prompts were dispatched every 3 hours during the day. This allows for just a restricted, intermittent view of a patient's
|
||||||
physiological state, and the chosen sampling period may require adequate ajdustment.
|
physiological state, and the chosen sampling period may require adequate adjustment.
|
||||||
|
|
||||||
Moreover, although designed and implemented as a multi-user system, Medwings was only tested with one active user.
|
Moreover, although designed and implemented as a multi-user system, Medwings was only tested with one active user.
|
||||||
When used by many more users, the proof-of-concept system may encounter scalability issues, such as exceeding the API rate limits
|
When used by many more users, the proof-of-concept system may encounter scalability issues, such as exceeding the API rate limits
|
||||||
imposed by Withings.
|
imposed by Withings.
|
||||||
|
The non-enterprise Withings API enforces a rate limit of 120 requests per minute.
|
||||||
|
Medwings polls the API regularly to retrieve the latest health data for patients.
|
||||||
|
At scale, with many patient users, the rate limit would quickly be reached.
|
||||||
|
The Withing API does provide functionality to notify client applications upon availability of new data, making it possible to avoid polling.
|
||||||
|
Given that Medwings was only used by a single patient user during the trial phase, falling back to polling was an acceptable compromise to lower complexity
|
||||||
|
while still operating within the rate limit.
|
||||||
|
|
||||||
|
Another significant limitation pertains to data security and privacy.
|
||||||
|
The Medwings system replicates sensitive patient data, which is already stored in the Withings Cloud, in its own database.
|
||||||
|
This dual storage increases the attack surface for breaches of sensitive data, posing a risk to patient privacy.
|
||||||
|
Ideally, removing the need to store vitals data either in the Withings Cloud or in the Medwings database would improve the system's privacy and security.
|
||||||
|
|
||||||
|
Furthermore, the system's complexity during initial setup poses a notable limitation.
|
||||||
|
Users must undergo a multi-step process: signing up for Withings, pairing medical devices, registering for a Medwings account, and finally, logging in to the Gotify application.
|
||||||
|
This makes the system less accessible, particularly for elderly patients or those less technically inclined.
|
||||||
|
Although necessitated by current resource limitations, a more streamlined setup process could have been achieved with additional development time and funding.
|
||||||
|
For example, integrating Medwings and Gotify into a single mobile application would significantly ease the setup process.
|
||||||
|
The Withings enterprise API plan can be utilized to manage OAuth2 user accounts\cite{noauthor_withings_nodate}, eliminating the need for a separate Medwings user
|
||||||
|
database and thus further simplifying user registration.
|
||||||
|
|
||||||
Lastly, using Medwings and the smart medical devices requires the patient to have internet access, which will negatively impact the
|
Lastly, using Medwings and the smart medical devices requires the patient to have internet access, which will negatively impact the
|
||||||
system's effectiveness in some circumstances where a stable connection is not available.
|
system's effectiveness in some circumstances where a stable connection is not available.
|
||||||
|
|
||||||
|
%Patients appreciate the face-to-face aspect of early warning score monitoring as it allows for reassurance, social interaction, and gives them further opportunity to ask questions about their medical care\cite{downey_patient_2018}.
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\subsection{Future Work and Improvements}
|
\subsection{Future Work and Improvements}
|
||||||
|
|
||||||
@ -1374,7 +1370,7 @@ would elevate the system's overall capabilities and usefulness.
|
|||||||
As technology advances, future work could explore machine learning models to predict potential health anomalies based on historical data.
|
As technology advances, future work could explore machine learning models to predict potential health anomalies based on historical data.
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\subsection{Implications and Conclusions}
|
\section{Conclusion}
|
||||||
|
|
||||||
The objective of this research was to explore the feasibility and of an \gls{rwsm} system for use by outpatients, using
|
The objective of this research was to explore the feasibility and of an \gls{rwsm} system for use by outpatients, using
|
||||||
commercially available smart medical devices.
|
commercially available smart medical devices.
|
||||||
@ -1434,18 +1430,58 @@ of systems like Medwings for better patient care and resource optimization in he
|
|||||||
\includepdf[pages=2-, scale=0.95, pagecommand={}, angle=-90]{./attachments/trial-data.pdf}
|
\includepdf[pages=2-, scale=0.95, pagecommand={}, angle=-90]{./attachments/trial-data.pdf}
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\section*{Ehrenwörtliche Erklärung}
|
\section*{Aufgabenstellung zur Abschlussarbeit im Studiengang Informatik}
|
||||||
\addcontentsline{toc}{section}{Ehrenwörtliche Erklärung}
|
\addcontentsline{toc}{section}{Aufgabenstellung}
|
||||||
|
|
||||||
Ich versichere, dass ich die beiliegende Bachelorarbeit ohne Hilfe Dritter und ohne Benutzung anderer als der angegebenen
|
\begin{table}[!ht]
|
||||||
Quellen und Hilfsmittel angefertigt und die den benutzten Quellen wörtlich oder inhaltlich entnommenen Stellen als solche
|
\centering
|
||||||
kenntlich gemacht habe.
|
\begin{tcolorbox}[
|
||||||
Diese Arbeit hat in gleicher Form noch keiner Prüfungsbehörde vorgelegen.
|
enhanced, width=\linewidth, boxrule=2pt, arc=4pt,
|
||||||
|
tabularx={l|>{\centering\arraybackslash}X}
|
||||||
|
]
|
||||||
|
\textbf{Name Student*in:} & Julian Lobbes \\
|
||||||
|
\hline
|
||||||
|
\textbf{Matrikelnummer:} & 4343013 \\
|
||||||
|
\hline
|
||||||
|
\textbf{Abschluss:} & Bachelor \\
|
||||||
|
\hline
|
||||||
|
\textbf{Name Erstgutachter*in:} & Prof. Dr. med. Dr.-Ing. Michael Marschollek \\
|
||||||
|
\hline
|
||||||
|
\textbf{Name Betreuer*in:} & Prof. Dr. Sharareh R. Niakan Kalhori \\
|
||||||
|
\hline
|
||||||
|
\textbf{Titel der Arbeit:} & Early detection of patient deterioration at home using smart medical sensors \\
|
||||||
|
\end{tcolorbox}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
Ich bin mir bewusst, dass eine falsche Erklärung rechtliche Folgen haben wird.
|
\subsection*{Aufgabenbeschreibung}
|
||||||
|
|
||||||
|
The goal of this bachelor thesis is the development of a software application capable of calculating an early warning score for
|
||||||
|
patient deterioration using smart medical devices, followed by a usability trial of the application.
|
||||||
|
With the help of the trial data, the developed software system should be evaluated regarding its feasibility for daily use by patients.
|
||||||
|
|
||||||
Braunschweig, 12.09.2023
|
\begin{raggedleft}
|
||||||
\vspace{3cm}
|
\vspace{2cm}
|
||||||
|
Braunschweig, 12.09.2023 \\
|
||||||
|
\vspace{0.5cm}
|
||||||
|
\hspace*{\fill}\includegraphics[height=2.5cm]{/home/ulinja/work/lwe/admin/signature.png}
|
||||||
|
\end{raggedleft}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\section*{Eigenständigkeitserklärung}
|
||||||
|
\addcontentsline{toc}{section}{Eigenständigkeitserklärung}
|
||||||
|
|
||||||
|
Hiermit versichere ich, dass ich die vorliegende Abschlussarbeit selbstständig und ohne unzulässige fremde Hilfe erbracht habe.
|
||||||
|
Ich habe keine anderen als die angegebenen Quellen und Hilfsmittel benutzt.
|
||||||
|
Die wörtliche oder sinngemäße Übernahme von Abschnitten aus Texten Dritter sowie aus eigenen vorangegangenen Veröffentlichungen habe ich
|
||||||
|
kenntlich gemacht.
|
||||||
|
|
||||||
|
Ferner versichere ich, dass es sich hier um eine Originalarbeit handelt, die noch nicht in einer anderen Prüfung vorgelegen hat.
|
||||||
|
|
||||||
|
\begin{raggedleft}
|
||||||
|
\vspace{2cm}
|
||||||
|
Braunschweig, 12.09.2023 \\
|
||||||
|
\vspace{0.5cm}
|
||||||
|
\hspace*{\fill}\includegraphics[height=2.5cm]{/home/ulinja/work/lwe/admin/signature.png}
|
||||||
|
\end{raggedleft}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user