get list of patient with recent update date

553 views
Skip to first unread message

shayan....@e-handoff.com

unread,
Jun 15, 2017, 12:19:39 PM6/15/17
to Cerner FHIR Developers
Is there any way to get list of patient who lastUpdateDate is greater than a date or something ?
I want to get list of patient who updated recently
it is not good to check all patients data each time so I want to know if there is a way to just know which patient had updated today or last minute.

Jenni Syed (Cerner)

unread,
Jun 15, 2017, 1:33:20 PM6/15/17
to Cerner FHIR Developers
Hi Shayan,

We don't currently support the _lastUpdated queries that FHIR defines [1]. What we do support for each resource is documented on fhir.cerner.com [2].

Also, you would need the _lastUpdated search to be supported for all clinical data your application would read in order to implement this for the patient's health record. Searching on patient only would only tell you if the patient (eg: demographic info) was updated. Not their clinical data.


~ Jenni

shayan....@e-handoff.com

unread,
Jun 16, 2017, 12:18:49 PM6/16/17
to Cerner FHIR Developers
You mean there is no lastUpdateDate for clinical data like medication or problems list?
how we can know if it updated or not ?
we need to show list of patients data in a single page you mean i need to go to medication for each patient separately and check if it has been updated or not ?
right now i'm trying to get all patients last update date with one request and check which one updated but you are saying it doesn't work like that ?
for example:
GET [base]/Patient?_id=23452345,3456234,23456123,2345234,567654,23456666,23456543,23456543,234565432,234567
this link return multiple patient scope for patients i need to check
then i check lastupdate date to see if updated or not
but you are saying that update date is not related to clinical data?

Jenni Syed (Cerner)

unread,
Jun 16, 2017, 12:37:43 PM6/16/17
to Cerner FHIR Developers
Shayan,

We return the meta.lastUpdated for our resources, but I wouldn't recommend using that in case there is clock skew. Instead, you should use the meta.versionId to see if it's different from the last time you called. If it is different, then the resource was updated. http://hl7.org/fhir/dstu2/resource.html#Meta

Yes, as of right now, you need to check the resources. I would recommend calling and asking for data per patient (instead of by id) so you get new items, and not just old items you've seen before. Until we add last updated queries, this is the only option.

FHIR's specification itself sets up these rules - the meta.lastUpdated and versionId only apply to *that resource,* not the resources those link to or that reference that resource somewhere else. You wouldn't want that either - since resources that aren't clinical would cause patient to be updated (auditing, provenance, communications, etc). It's also important to note that between the two, the versionId is the one listed as a "SHOULD" support for servers, whereas the lastUpdated isn't listed as required or SHOULD/SHALL.

~ Jenni

shayan....@e-handoff.com

unread,
Jun 21, 2017, 7:46:01 PM6/21/17
to Cerner FHIR Developers
Hello
 can you tell me if the "versionId" on Encounter scope changed for a patient does that mean the clinical data has updated ?
 and I want to know what's the difference between ( _id & patient id ) because with both IDs I can access to Encounter scope
 but with _id I can get multiple patients data with only one request but with "Patient ID" I only can send one patient per request to Encounter scope

Jenni Syed (Cerner)

unread,
Jun 22, 2017, 9:54:34 AM6/22/17
to Cerner FHIR Developers
No, per the FHIR specification, the version is only applicable to the resource itself. So, for Encounter, it's only updated when fields on the Encounter resource are changed.

The _id parameter is the query parameter used to query for the resource by id. EG: if you pass a list of _id into /Encounter, you're querying by Encounter.id. Whereas the patient paramenter queries by the patient or subject field. In the Encounter example, again, by Encounter.patient.

Note: since these aren't specific to the Cerner implementation, and instead are questions about the spec itself, these are also good questions to ask out on any of the HL7 FHIR spaces linked in our group overview (chat.fhir.org or Stackoverflow).

~ Jenni

shayan....@e-handoff.com

unread,
Jun 22, 2017, 12:36:40 PM6/22/17
to Cerner FHIR Developers
Hey Jenni
 so on medication scope there is multiple entries and each each entries has a separate "last update date" and "versionId" for each patient
 there is no global last update date or versionId for all of them each time I need to loop thou all medication entries and see if versionId changed ?!
 and there is no way to get multiple patients medication with a single HTTP request ?!
 I mean if I need to update 50 patient in a same time I need to send 50 request ?

 thanks for your respond

Jenni Syed (Cerner)

unread,
Jun 22, 2017, 12:44:46 PM6/22/17
to Cerner FHIR Developers
Correct, as far as I know, in the FHIR specification, there is no "global" last updated/modified for a full patient record.

Also, for getting multiple patients, you can get to as many clinical ids as you're allowed (you would need to query each clinical resource you're interested in by _id). However, that workflow completely misses any new data that you may see. When you're trying to get new data, you would need to query by patient id. Eventually, when we support the lastUpdated queries, you would query by patient id and that field, and we would return anything new or changed.

pub/sub, which we also don't support yet, would be another way to accomplish this type of workflow.

~ Jenni

shayan....@e-handoff.com

unread,
Jun 22, 2017, 12:52:06 PM6/22/17
to Cerner FHIR Developers
But MedicationOrder doesn't support _id it only can get Patient parameter
is there a way to set multiple patient or _id on this scope ?

Jenni Syed (Cerner)

unread,
Jun 22, 2017, 1:04:30 PM6/22/17
to Cerner FHIR Developers
MedicationOrder will support by id, though I can't give any dates. That's required for FHIR spec compliance.

Query by multiple patient ids for clinical resources isn't currently on our roadmap.

Also keep in mind that B2B/system access is only supported in sandbox, not production, at this time.

~ Jenni

shayan....@e-handoff.com

unread,
Jun 22, 2017, 1:14:51 PM6/22/17
to Cerner FHIR Developers
Sorry what is B2B/system ?

Jenni Syed (Cerner)

unread,
Jun 22, 2017, 1:20:02 PM6/22/17
to Cerner FHIR Developers
The authentication type I was (probably incorrectly) assuming the app was using to get this data. :)

Our server supports multiple authentication types: http://fhir.cerner.com/millennium/dstu2/#authorization

~ Jenni

shayan....@e-handoff.com

unread,
Jun 22, 2017, 1:35:00 PM6/22/17
to Cerner FHIR Developers
I'm accessing to FHIR by OAuth 2.0  as a provider
is it different on production ?
i'm just curious

thanks

Jenni Syed (Cerner)

unread,
Jun 22, 2017, 1:49:54 PM6/22/17
to Cerner FHIR Developers
No, provider access is allowed and live in prod. 

However, you will need to be careful with how your application treats this data (in case you're storing this in another database). Different providers can see different patients and different data (eg: sensitive clinical data may be visible to Dr. Dana but not Dr. Bob), and so most of the time the queries for data would need to be separated by the provider viewing the data. Your application will be acting on behalf of that provider for all queries (this access is audited), and we do not allow offline access right now for provider workflows, so there would be no way to synchronize this data when the provider wasn't signed in.

~ Jenni
Reply all
Reply to author
Forward
0 new messages