FHIR Chat · Procedure with contained device · implementers

Stream: implementers

Topic: Procedure with contained device


view this post on Zulip Thomas Johansen (May 24 2018 at 18:28):

I'm implementing a write operation for Device now, but the Device alone seems insufficient for the use case. I would require fields like performed date and coding. I asked earlier on another topic and I thought of using Procedure, but I cannot see how to pass a device as focalDevice? Is this supposed to be data I can pass to the server? I found no examples on the hapi fhir test client so I started questioning this.

How do you consider using the DomainResource contained for this purpose? I could then register a Procedure that has most of the data generally needed to register when, what, hows and put a Device in Contained.

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 18:30):

http://build.fhir.org/procedure-example-implant.xml.html

view this post on Zulip Thomas Johansen (May 24 2018 at 18:46):

@Jose Costa Teixeira Thanks, it is however as I wrote that I cannot pass an actual Device, only a reference. So if a doctor is to register critical information on a patient, it would not be so simple. He would need to record when the patient got the implant, either by procedure date or patient age, and the device itself. What kind of coding does the device have etc.

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 19:26):

i don't understand.

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 19:27):

the example has <performedDateTime value="2015-04-05"/>

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 19:28):

and in this case the device is referenced as implanted

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 19:28):

but you can also have a device used. Thus:

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 19:29):

instead of

  <focalDevice>
    <action>
      <coding>
        <system value="http://hl7.org/fhir/device-action"/>
        <code value="implanted"/>
      </coding>
    </action>
    <manipulated>
      <reference value="Device/pacemaker_MDT_Azure_W1DR01"/>
    </manipulated>
  </focalDevice>

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 19:31):

you would have

    <usedReference>
      <reference value="Device/pacemaker_MDT_Azure_W1DR01"/>
    </usedReference>

view this post on Zulip Jose Costa Teixeira (May 24 2018 at 19:33):

if you want to describe the characteristics of the device Device/pacemaker_MDT_Azure_W1DR01, that is another resource which can be contained

view this post on Zulip Thomas Johansen (May 25 2018 at 05:12):

@Jose Costa Teixeira Mkey, I think I'm ending up with the Device being contained. Well, what I tried to explain was that I cannot refer to an existing Device. For our case a Device would need to be defined through a procedure. So you are correct in the assessment of me requiring a Procedure with the fields you gave example on. So the question was basically, would you use Procedure.contained to fit my need. Thanks :)

view this post on Zulip Jose Costa Teixeira (May 25 2018 at 05:29):

Kewl. If you you cannot point to an existing device resource, you can create one on the spot.
You will notice that the attributes in Device are all optional, so you don't have to add anything you don't want.
Adding procedure data to a device would not be good.

view this post on Zulip Thomas Johansen (May 25 2018 at 05:40):

Okey, cause what I aim for is to register an implant on a patient. We don't have, nor register the data that belongs to the device; like manufacturer etc. We define type of implant through a code system, and then other "regular" data like date. I would require an extension to register when the patient got the Device and I feel the semantics are wrong doing it like this. It is the concept a Patient god a device vs a Patient had a procedure where he got the device. Thoughts?

view this post on Zulip Jose Costa Teixeira (May 25 2018 at 05:42):

on using a code, that might make sense. This is actually supported - see Procedure.usedCode.

view this post on Zulip Jose Costa Teixeira (May 25 2018 at 05:45):

on the modeling question - you say that you just want to inform the patient has a device. So what you are modeling is not a characteristic of the patient, nor a characteristic of the device, but an association between a patient and a device.

view this post on Zulip Jose Costa Teixeira (May 25 2018 at 05:48):

keeping in mind that we will likely alter the device resource and there might be some changes there are 2 options:
you use procedure to define when that association patient-device was created (which gives you the information you need like data and device type),
OR you use a device and can express the patient using device.patient (the exact position of this element will likely change).

view this post on Zulip Thomas Johansen (May 25 2018 at 05:48):

You are correct of course. The only thing I can register to a Device is:

{
"resourceType": "Device",
"type": {
"system": "1234",
"code": "1"
}
}

So maybe Procedure.usedCode is just what I should use here. I define category in the Procedure to point to Implant category from our terminology server. Should be sufficient?

view this post on Zulip Jose Costa Teixeira (May 25 2018 at 05:48):

Using only a device and device.Patient would still lack the date of implant. Do using procedure seems more correct. Also this seems (arguably) better for interoperability. Many issues in interoperability are not about the data being there, and definitely not about the quantity of data, but a common understanding what that data means. If you express a procedure and a device, it is semantically sound, i think

view this post on Zulip Jose Costa Teixeira (May 25 2018 at 05:51):

So maybe Procedure.usedCode is just what I should use here. I define category in the Procedure to point to Implant category from our terminology server. Should be sufficient?

I think so, yes

view this post on Zulip Thomas Johansen (May 25 2018 at 05:52):

I agree, and is self documented through profiling so should be safe to assume a common understanding of how to use the resource. Thanks a lot for the discussion Jose :)


Last updated: Apr 12 2022 at 19:14 UTC