Stream: implementers
Topic: active vs. status (HealthcareService/Organization/Location)
Tim Berezny (Jun 12 2018 at 03:12):
I notice that HealthcareService, Organization and HealthcareService have boolean "Active" fields.
Location however, has a "status" field coded with "active | suspended | inactive"
I see all three of these resources as conceptually similar from a status/active perspective. What is the rationale for the difference?
Lloyd McKenzie (Jun 12 2018 at 12:12):
Did you mean to list Patient in your initial list of artifacts?
The notion of "suspended" doesn't really apply to Patient or Organization. There's never a situation where they're temporarily unavailable. That does happen with locations (undergoing renovations, temporarily closed due to licensing issues, etc.). I would think HealthcareService would be more like Location in that sense. @Brian Postlethwaite ?
Tim Berezny (Jun 12 2018 at 17:25):
Sorry, I just meant HealthcareService + organization have "active". (while location has status)
It is true, an organization is extremely unlikely to be suspended. I do have experience though with "locations" going inactive. For example, a gentle exercise program has 40 sites, and it shots half of them down during the winter.
Brian Postlethwaite (Jun 25 2018 at 07:26):
Do I need to say anything here?
Looks like you've already answered the question, locations become inactive or are suspended, where org/healthcare service don't typically.
Lloyd McKenzie (Jun 25 2018 at 09:13):
@Brian Postlethwaite I would have thought HealthCareService could be suspended. E.g. "MRI machine is down for two months, so that service gets 'suspended'"
Brian Postlethwaite (Jun 25 2018 at 09:20):
That is what the period would be used for, if a service is planned to be inactivated, this is usually planned, and will have set dates. (Location also has this too, but has the status as some uses don't have the dates in older systems)
Lloyd McKenzie (Jun 25 2018 at 09:29):
And we're confident that problem doesn't exist for HealthCareService?
Brian Postlethwaite (Jun 25 2018 at 09:52):
Haven't had it brought up yet...
Tim Berezny (Jun 27 2018 at 01:23):
I agree on "organization" that it doesn't get suspended very often, and conceptually has some fundamental differences from HealthcareService and Location.
However, I think that the concept of a "location" vs a "HealthcareService" can be used quite interchangeably. For example, you can architect a service directory such that
1. each address actually has its own HealthcareService (and treat location cardinality as 1..1),
2. OR you can do one HealthcareService with multiple locations.
3. OR you can allow a combination of both.
There's many reasons for going one way or the other a serviceDirectory architecture perspective, which are often legitimate whichever way you go ... but since either approach can be valid, might it be wise to treat the ability to "suspend" it similarly? CURRENTLY, my architecture is #1 and so I don't have an option to suspend my services built into FHIR (although migrating to an architecture that allows multiple locations).
Brian Postlethwaite (Jun 28 2018 at 21:37):
The joys of the complexity of representing the real world.
All the things that you've described are valid, and different directories will have different mixes of the situation where it is good and not so elegant.
Lloyd McKenzie (Jun 29 2018 at 06:02):
@Tim Berezny Do you want to submit a change request?
Tim Berezny (Jul 11 2018 at 03:18):
I may submit a change request, i'm currently pondering if even in my case #1 (each address actually has its own HealthcareService (and treat location cardinality as 1..1), if I could essentially use the "suspended" in the location resource as the mechanism to suspend the "service". I just might make sense... I'll sleep on it.
Tim Berezny (Jan 05 2019 at 02:12):
In my HealthcareService directory, there is definitely a concept of "suspended" (i.e., .active=0) that is different from "deleted". Suspended is typically used when a program goes say, on summer break. The service eventually gets deleted when it's terminated forever.
The reason i can't just "delete" the service is when other source sync with my directory, they would search for all services within a lastUpdate range. If the resource is deleted, it will simply not return and inform the other player that the service is gone, and to clear it from their list.
Brian Postlethwaite (Jan 08 2019 at 03:09):
@Tim Berezny are you coming to San Antonio?
Tim Berezny (Jan 08 2019 at 03:14):
drats no, i haven't been paying close enough attention to the timetables for these things ... I really should have scheduled myself in for this one.
Lloyd McKenzie (Jan 08 2019 at 03:59):
You can find the schedule on the HL7 website through to the end of 2020 :)
Tim Berezny (Mar 29 2022 at 19:47):
For my local implementation of HealtcareService, I'm going to add an extension:
status = active | suspended | inactive
This is the same status set that is available for the Location resource, whereas HealthcareService.active is only a boolean. I need the full set of active | suspended | inactive states.
At this point, would it be helpful for me to submit this as an update to HealthcareService resource to add a status field? Or should an extension be fine in the long run.
Brian Postlethwaite (Apr 05 2022 at 05:58):
Assuming that you didn't also consider the not available property too?
status isn't giving a lot more detail there... The suspension reason could be in the notAvailable property along with for how long?
Tim Berezny (Apr 05 2022 at 12:12):
No I did not consider notAvailable, that's an interesting thought.
If i'm reading this right, to indicate that a HealthcareService is "suspended" I could set HealthcareService.notAvailable.start as a date, and leave the end date blank, to indicate that it is indefinitely suspended. Does that sound right? (and, probably leave active as true, until it is permanently deleted.)
Brian Postlethwaite (Apr 05 2022 at 12:16):
That's a thought. Id be setting active to false if wanted it not usually picked up. It sounds like what you're intending on doing.
Last updated: Apr 12 2022 at 19:14 UTC