Introduction
Introduction Statistics Contact Development Disclaimer Help
article-20h-interview.mw - tgtimes - The Gopher Times
git clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws…
Log
Files
Refs
Tags
README
---
article-20h-interview.mw (7107B)
---
1 .SH 20h
2 Breaking free from medical devices
3 .2C 122v
4 .
5 .PP
6 Unlike most USB gadgets around, medical devices require a specification
7 to be proven fit for handling patients data.
8 This makes doctor-hacking difficult for the sake of better control
9 over what is allowed for medical use.
10 .
11 .PP
12 While this may sound as a non-starter for many, not all doctors are
13 discouraged.
14 Interview with 20h:
15 .
16 .QP
17 You are __20h__, a doctor in Falken, the best village to live in
18 in Germany, is that correct?
19 .
20 .PP
21 Yes.
22 .
23 .QP
24 You managed to do some hacking around a medical device.
25 What was it?
26 How did it help you in your diagnostics?
27 .
28 .PP
29 I wrote \fCrfcommd\fR to have my spirometer print out the results
30 to a standard printer.
31 It helps me having a more detailed view on the results.
32 .
33 .PP
34 The normal printout is just like 8 centimeters wide.
35 Now it is A4.
36 .
37 .PP
38 I plan on using rfcommd to read out ECG data from a ECG for further
39 analysis.
40 .
41 .PP
42 The collecting computer is a gentoo hardened on x86_64, with a
43 standard bluetooth dongle, sending the print jobs via TCP/IP to a
44 network printer.
45 .
46 .PP
47 For printing there is a cups installation, converting the PCL output
48 of the spirometer to postscript for the network printer.
49 .
50 .QP
51 What software were provided to collect the data on a computer?
52 On which kind of system was that running?
53 .
54 .PP
55 Before rfcommd there was no collection of the data.
56 The spirometer has some built-in printer,
57 which is very expensive and the printout is small.
58 .
59 .QP
60 Are you using it often?
61 .
62 .PP
63 I/We are using it every day for printing out spirometry (lung
64 function) results.
65 .
66 .PP
67 By the way.
68 A secondary function why rfcommd has filters: We have
69 a sterilization device, which has a serial printout of sterilization
70 runs.
71 .
72 .PP
73 This is what rfcommd does print out too.
74 .
75 .PP
76 The features of rfcommd moved from: Accept every rfcomm request to
77 having filters per device mac, was because of those two devices.
78 .
79 .PP
80 But it will allow to have the ecg readout as a filter for free.
81 .
82 .QP
83 It had limited interaction, and yet you managed to made it available
84 from a linux computer.
85 How did you do it?
86 .
87 .PP
88 First I had a python script using pybluez to offer some bluetooth
89 printer service, which bluetooth clients connect to and send print
90 jobs.
91 .
92 .PP
93 But I migrated this to some C implementation and generalized it as
94 rfcommd so it is more modular for me and others can reuse it too.
95 .
96 .PP
97 Bluez stack had some rfcomm client application, but it was removed
98 in newer version because they hate commandline users.
99 .
100 .QP
101 Was it difficult? How long did it take?
102 .
103 .PP
104 Digging around bluetooth is difficult.
105 It looks similar to TCP/IP, but is its own terminology, protocols
106 and principles.
107 Look at rfcommd for how to announce some service.
108 .
109 .PP
110 It took me two weekends to write rfcommd as it is now.
111 .
112 .QP
113 What would you advise to designers of such devices to make everyone's
114 life easier?
115 .
116 .PP
117 If you mean medical devices: Please open source all firmware and
118 open up all schematics.
119 In ten years you will be dead or in pension but still people can
120 extend or update your devices.
121 .
122 .PP
123 And second: Never have specific assumptions and fool end users into
124 costly standard.
125 You never know better than your users.
126 .
127 .PP
128 For example in the spirometry description, they say, that only some
129 bluetooth printers are compatible.
130 .
131 .PP
132 This is due to the bluetooth standard not having defined, \fBwhat\fR
133 is sent to bluetooth printers.
134 .
135 .PP
136 It should be the minimum, to define this, as it is in the USB
137 printing standard.
138 .
139 .QP
140 What kind of protocol interface would have been the easiest?
141 .
142 .PP
143 The easiest protocol interface, also considering security and data
144 protection standard, would be ssh over TCP/IP.
145 Everyone knows SSH, it can be integrated into everything and it is
146 easily upgradable to newer security standards.
147 .
148 .QP
149 What does it permits to do that was not possible before?
150 .
151 .PP
152 With the spirometry data ready as simple text data, I can further
153 process it using standard unix tools, in case I ever need this.
154 .
155 .QP
156 Are other people using it in the practice as well? Even indirectly?
157 .
158 .PP
159 My nurses use it mainly.
160 They press the »print« button on the spirometry device and it prints
161 the results.
162 .
163 .PP
164 I, as doctor, only see the printed out results and explain them to
165 patients.
166 .
167 .QP
168 Does she have to use command line interface for that?
169 .
170 .PP
171 No, it's all practical.
172 The spirometer starts its bluetooth client for rfcommd and rfcommd
173 runs the spirofilter printing filter script, which invokes lpr(1).
174 .
175 .QP
176 Are there many situations like that, where cumbersome interfaces
177 makes life harder for working with medical devices?
178 .
179 .PP
180 Yes, it's built into all medical devices to enforce proprietary and
181 expensive Windows software to be bought.
182 .
183 .PP
184 For example the newer version of my ECG device has some undocumented
185 network mode.
186 The ECG standard I will be using over serial was defined in 1990.
187 Since then old devices only got bluetooth and ethernet, but did
188 nothing else new.
189 .
190 .PP
191 The price stayed the same, of course.
192 .
193 .QP
194 Do you think designers would benefits themself from offering another
195 interface that is easier to use?
196 .
197 .PP
198 In the short term viewpoint it protects you from competitors to
199 enter the market.
200 But in the long run, this now stops me from easily processing patient
201 data for further research.
202 I am using a 25 yr old ECG and some 10 yr old spirometer.
203 .
204 .QP
205 Are there any similarities in other devices to reuse the existing
206 work you just did?
207 .
208 .PP
209 Yes.
210 Bluetooth is the new hype in medical devices.
211 All those smart devices for body measurement are for example BLE,
212 some insecure bluetooth standard to read out key=value from bluetooth
213 clients.
214 Some bled(8) should be easy to write.
215 .
216 .PP
217 Nearly every medical device still has some serial port, either for
218 communication or measurement.
219 .
220 .PP
221 For measurement this will never die out, since raw data is required.
222 .
223 .PP
224 And some serial2bluetooth, that's what I am using for my practical
225 examples.
226 .
227 .QP
228 Would it have been possible to build such device yourself from
229 parts, but with sane interfaces instead?
230 .
231 .PP
232 Building such a device is not the hard part.
233 The hard part is licensing the device as being a medical device.
234 .
235 .PP
236 I am, as a doctor, am allowed to license some medical device for
237 my patients.
238 But if I'd want to sell or give this device to some other doctor,
239 I'd need some EU medical device license.
240 .
241 .PP
242 This is a complex process.
243 .
244 .PP
245 You have severial medical device classes.
246 Some always require some EU-wide licensing.
247 .
248 .PP
249 The logic of some ECG is very simple.
250 But licensing it for selling is what makes it expensive and/or keeps
251 the competition low.
252 .
253 .QP
254 What do you advise to people also stuck with cumbersome device, but
255 without reverse engineer superpowers?
256 .
257 .PP
258 Force the device producers to open up standards.
259 Write into contracts, that devices have to be interoperable, so
260 producers need to adapt.
261 .
262 .PP
263 It's the same for software.
264 If you can't write it on your own, force them to open up standards,
265 because you want to extend the software.
266 .
267 .PP
268 For extension of software, reverse engineering is legal.
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.