FHIR Chat · active vs. status (HealthcareService/Organization/Location) · implementers

Stream: implementers

Topic: active vs. status (HealthcareService/Organization/Location)


view this post on Zulip 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?

view this post on Zulip 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 ?

view this post on Zulip 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.

view this post on Zulip 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.

view this post on Zulip 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'"

view this post on Zulip 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)

view this post on Zulip Lloyd McKenzie (Jun 25 2018 at 09:29):

And we're confident that problem doesn't exist for HealthCareService?

view this post on Zulip Brian Postlethwaite (Jun 25 2018 at 09:52):

Haven't had it brought up yet...

view this post on Zulip 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).

view this post on Zulip 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.

view this post on Zulip Lloyd McKenzie (Jun 29 2018 at 06:02):

@Tim Berezny Do you want to submit a change request?

view this post on Zulip 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.

view this post on Zulip 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.

view this post on Zulip Brian Postlethwaite (Jan 08 2019 at 03:09):

@Tim Berezny are you coming to San Antonio?

view this post on Zulip 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.

view this post on Zulip Lloyd McKenzie (Jan 08 2019 at 03:59):

You can find the schedule on the HL7 website through to the end of 2020 :)

view this post on Zulip 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.

view this post on Zulip 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?

view this post on Zulip 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.)

view this post on Zulip 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