URI: 
       article-20h-interview.mw - tgtimes - The Gopher Times
  HTML git clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tgtimes
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR 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.