FHIR Chat · Create Identifier (MRN) · implementers

Stream: implementers

Topic: Create Identifier (MRN)


view this post on Zulip Michelle (Moseman) Miller (Oct 26 2017 at 16:12):

When creating a new Patient, we expect the server to generate a Patient.identifier.value (e.g. MRN). Since our server supports multiple organizations (i.e. assigners/systems), we need to know which organization should be the assigner of any new/auto-created identifiers for the patient. We can derive the system once we know the assigner.

We discussed Patient.managingOrganization, but dislike that approach since there isn't a single organization that acts as the custodian of the Patient record in our system.

Is it standard practice to interpret a Patient.identifier with assigner, but without value as an ask of the assigner to issue a value?

view this post on Zulip Jose Costa Teixeira (Oct 26 2017 at 18:22):

I think you mean "leaving identifier value empty but fill in an assigner, and then the assigner will know to assign a value". Could work in some cases, but perhaps not standard practice.
Could you also not resort to an operation?

view this post on Zulip Lloyd McKenzie (Oct 26 2017 at 18:40):

I think the standard interpretatin would be "I don't know the value of the identifier assigned by XYZ". There's no way using standard REST to say "please make the following modification to this record". That doesn't mean you couldn't adopt a local convention, but you'd need site-specific agreement for anyone to adhere to it. As Jose says, operations are your best bet for this sort of functionality

view this post on Zulip Elliot Silver (Oct 26 2017 at 22:32):

Wouldn't use of an operation also need a site-specific agreement for everyone to adhere to? I'm not suggesting one way is better than the other, just that I don't see an obvious advantage of a operation. You could also use a data-not-present extension to say "not yet assigned, please assign it."

view this post on Zulip Lloyd McKenzie (Oct 26 2017 at 23:45):

Well, with an operation, declaration of support or not is clear. And the definition of the expected behavior is clear. If you see a server supports the operation, no negotiation is required. Treating special partially populated data "specially" on the other hand is absolutely going to require site-by-site negotiation.

view this post on Zulip Michelle (Moseman) Miller (Oct 27 2017 at 15:43):

Seems like this might be a common use case (to request a new MRN or other identifier), so I may log a tracker to get some official guidance in the spec.

view this post on Zulip Michelle (Moseman) Miller (Oct 27 2017 at 15:53):

GF#14099 has been logged asking for guidance on a consistent approach to requesting an identifier from a given assigner (often MRNs when creating the Patient)

view this post on Zulip Jenni Syed (Oct 27 2017 at 15:54):

Specifically: This is essentially the patient registration process, which would be very common, correct?

view this post on Zulip Simone Heckmann (Oct 27 2017 at 16:57):

I wouldn't mind having a standard operation for that...

view this post on Zulip Simone Heckmann (Oct 27 2017 at 16:58):

Sounds fairly common (for Encounters, too)

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 12:20):

options / Ideas:
$generate_identifier?assigner=<assigner_here> (explicit generate an identifier)
$obtain_identifier?assigner=<assigner_here> (can be used to obtain and also to lookup an identifier)
Depends on the scope we need, i guess

view this post on Zulip Michael van der Zel (Nov 01 2017 at 14:35):

Interesting. Normally the workflow to obtain an identifier is much more elaborate that just asking for a number, right?

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:35):

yes, the operation is assuming that the workflow is "hidden" behind it. That is what I understand from Michelle's problem and the idea of a standard operation.

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:35):

can we define an operation without specifying its implementation details? I assumed so.

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:42):

My main concern about the operation: some systems won't let you assign the identifier without the patient being in the system. This also makes registration (just creating the patient) at least a 2 step process.

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:45):

What you really want is "here is this patient I want to register, the identifiers that are automatically assinged should come from X system?"

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:46):

you mean when you do the first POST, you provide some data to generate an identifier?

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:46):

And then in the future: "here is this patient that already has some identifiers, I would like some more/for this patient to be recognized by a new system as well"

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:47):

Yes, but as Grahame has pointed out on the tracker, I think there are "create both patient and identifier" and "create new identifiers for existing patient"

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:47):

i see two things: create patient and create ID.

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:48):

requiring them to actually be implemented in the API separately seems unfortunate

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:48):

"let me write this patient with no identifiers, trust me, I'll come back and give you real identifiers eventually..." :)

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:50):

seems less efficient, but i would not say unfortunate for that fact. It's easier to combine functionality than to split.

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:51):

tracker says: An Identifier.assigner populated without Identifier.value populated

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:52):

That could be an interesting option locally, as said above in this thread.
To make it global, this would mean that provider an assigner would ALWAYS create an identifier, right?

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:52):

(sorry for caps)

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:53):

this means that we would never support "here is a patient, i know his ID is a SSN but I don't know it now", right?

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:56):

I don't think there's anything in the actual spec that prevents that right now, btw

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:56):

this all comes down to business logic in the server or client itself. Technically, I could write something like "i bet he has an SSN but I don't know the actual value"

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:57):

i am just saying that my reading of the option "An Identifier.assigner populated without Identifier.value populated" is "whenever we have an assigner and no ID, please create an ID"

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 16:58):

and if my logic is correct, this means that we would not support "whenever we have an assigner and no ID, please lookup the ID"

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:59):

I think there are currently 3 options (knowing there could be a better option still), one is unpopulated. One mentions operations, one mentions DAR with a special value asking the server to populate...

view this post on Zulip Jenni Syed (Nov 01 2017 at 16:59):

(on the actual tracker)

view this post on Zulip Jenni Syed (Nov 01 2017 at 17:00):

I agree just leaving it blank seems to leave intent open for interpretation

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 17:00):

what _could_ be more global is
"if a resourceX has an assigner and no ID for that assigner, the system is in charge of finding out whether this needs to be created or looked up"

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 17:00):

but i think even this could be challenged, e.g. if you just want to leave it as is.

view this post on Zulip Jose Costa Teixeira (Nov 01 2017 at 17:02):

this reasoning is for option 3 in the tracker (leaving empty implying some behaviour)

view this post on Zulip Grahame Grieve (Nov 01 2017 at 22:42):

we can define an operation to issue an identifier without requiring that it be a separate step. But if we want to describe a standard API for registering a patient... that's more than just 'create a patient resource'

view this post on Zulip Cooper Thompson (Nov 02 2017 at 18:31):

Do we want to include identifier assignment for national IDs? That might lean more toward a registration operation, since some national IDs encode patient demographics in the ID (I'm looking at you Denmark). P.S. I'm not endorsing or encouraging demographic encoding in IDs... just saying that it's a thing.

view this post on Zulip Brian Postlethwaite (Nov 10 2017 at 08:03):

I guess that could also be related, where there is a national identifier, and the need to start the process for getting one in maternity. But I suspect this is outside of this scope anyway.

view this post on Zulip Brian Postlethwaite (Nov 10 2017 at 08:03):

I like the way @Jose Costa Teixeira has worded it. Seems to cover Michelles case ok.

view this post on Zulip Brian Postlethwaite (Dec 19 2017 at 20:21):

This has been floating around for a bit, and we should discuss in person at the Jan WGM

view this post on Zulip Cooper Thompson (Jan 29 2018 at 21:11):

What do folks think of the option of adding a new value of "request-to-generate" to Identifier.use to indicate that an Identifier should be issued for the specified system/assigner/type?

view this post on Zulip Cooper Thompson (Jan 29 2018 at 21:12):

This seemed to make sense to several folks in the PA discussion, as (excepting "official"), the Identifier.use values basically track the workflow steps involved in managing the lifecycle of an identifier.

view this post on Zulip Jose Costa Teixeira (Jan 29 2018 at 21:34):

do we have a difference between "request-to-generate" and "an-identifier-was-requested-but-it-was-not-yet-given-so-i-can't-really-capture-it-here" ?

view this post on Zulip Cooper Thompson (Jan 29 2018 at 21:37):

So for now, PA is not going to pursue the Identifier.use. It was something we were considering at the end of Q3, but that was soooo last quarter. We've moved on. But if we had, I think the"an identifier-was-request-but-not-yet" scenario would just be an absent identifier. Since you aren't asking for any change to the identifier state.

view this post on Zulip Grahame Grieve (Jan 29 2018 at 21:55):

"soo last quarter"... excellent


Last updated: Apr 12 2022 at 19:14 UTC