FHIR Chat · Subscriptions need that logical id! · subscriptions

Stream: subscriptions

Topic: Subscriptions need that logical id!


view this post on Zulip Brian Reinhold (Aug 07 2019 at 12:07):

Here is an example of a websockets subscription 'ping' with only the 'ping':
(The subscription is for all Observations from a patient)

Got signaled by FHIR server websocket of an upload! Ping number 0. Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/ Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_profile=http://hl7.org/fhir/uv/phd/StructureDefinition/PhdNumericObservation&_lastUpdated=gt2019-08-07T07:23:40 Page 1 Number of resources on this page = 4 search done from self link = http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_lastUpdated=gt2019-08-07T07%3A23%3A40&_profile=http%3A%2F%2Fhl7.org%2Ffhir%2Fuv%2Fphd%2FStructureDefinition%2FPhdNumericObservation Ping number 0. Have 4 Observation resources in list Page 1 Number of resources on this page = 1 search done from self link = http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Patient?_id=4 Patient: Name: Sisansarah Piggy Birthdate: Tue Nov 10 00:00:00 EST 1992 Health Care Organizational Identifier: urn:oid:1.2.3.4.5.6.7.8.10 Patient identifier: sisansarahId Identifier code: MR Identifier code system: http://terminology.hl7.org/CodeSystem/v2-0203 Got signaled by FHIR server websocket of an upload! Ping number 1. Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/ Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_profile=http://hl7.org/fhir/uv/phd/StructureDefinition/PhdNumericObservation&_lastUpdated=gt2019-08-07T07:23:40 Page 1 Number of resources on this page = 1 search done from self link = http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Device?_id=22 Device: Device Type: null Specialization: Pulse Oximeter version 1 Manufacturer Name: Nonin_Medical_Inc. Model Number: Model 3230 Serial Number: 501900083 Firmware version: r2.1 Software version: r1.5 9.7 Hardware version: r1.0 Continua version: 6.0 Certified device types: specialization: Pulse Oximeter transport: 4 Device is regulated Time Synchronization: No time synchronization Time capabilities: real time clock supported Time capabilities: setting the time supported Observation: Measurement type: Battery level Time stamp: 2019-08-07T07:24:03.487-04:00 Value: 80% Observation: Measurement type: Blood 0₂ Time stamp: 2019-08-07T07:24:15-04:00 Value: 97.0% Additional Info: Stable mean Observation: Measurement type: Pulse rate Time stamp: 2019-08-07T07:24:15-04:00 Value: 45.0{beat}/min Additional Info: Stable mean Observation: Measurement type: Pulse Amplitude Quality Time stamp: 2019-08-07T07:24:15-04:00 Value: 1.79% Additional Info: Stable mean Page 1 Number of resources on this page = 4 search done from self link = http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_lastUpdated=gt2019-08-07T07%3A23%3A40&_profile=http%3A%2F%2Fhl7.org%2Ffhir%2Fuv%2Fphd%2FStructureDefinition%2FPhdNumericObservation Ping number 1. Have 4 Observation resources in list Got signaled by FHIR server websocket of an upload! Ping number 2. Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/ Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_profile=http://hl7.org/fhir/uv/phd/StructureDefinition/PhdNumericObservation&_lastUpdated=gt2019-08-07T07:23:41 Page 1 Number of resources on this page = 4 search done from self link = http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_lastUpdated=gt2019-08-07T07%3A23%3A41&_profile=http%3A%2F%2Fhl7.org%2Ffhir%2Fuv%2Fphd%2FStructureDefinition%2FPhdNumericObservation Ping number 2. Have 4 Observation resources in list Got signaled by FHIR server websocket of an upload! Ping number 3. Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/ Perform a GET request to URL http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_profile=http://hl7.org/fhir/uv/phd/StructureDefinition/PhdNumericObservation&_lastUpdated=gt2019-08-07T07:23:41 Page 1 Number of resources on this page = 4 search done from self link = http://hapi.ehealthinnovation.org:8080/hapi-fhir-jpaserver/fhir/Observation?_lastUpdated=gt2019-08-07T07%3A23%3A41&_profile=http%3A%2F%2Fhl7.org%2Ffhir%2Fuv%2Fphd%2FStructureDefinition%2FPhdNumericObservation Ping number 3. Have 4 Observation resources in list

The problem here is that four observations were uploaded and I get a ping for each one. However, I do not know which one. So I have to do a GET request for all observations for this patient that arrived at a time later than time T. Each time I get four Observations which I have to check to see if I have already decoded it, Of course, I decoded all four from the first ping, the other four pings just wasted bandwidth.

If I have gotten the logical id of the resource that caused the ping, I could have done a single GET for that one resource; no Bundle; no Bundle parsing, and no duplicate checking.

view this post on Zulip Gino Canessa (Aug 07 2019 at 14:14):

Hi Brian, we've been doing work with this on the Argonaut Subscriptions project. In particular, the ability to set the payload type for all channels (empty, id-only, or full-resource). In your case you would likely want id-only, which would give notifications with the ID of the resource in question.


Last updated: Apr 12 2022 at 19:14 UTC