FHIR Chat · Connectathon Stream · Argo Patient Lists

Stream: Argo Patient Lists

Topic: Connectathon Stream


view this post on Zulip Eric Haas (Sep 10 2020 at 13:36):

connectathon announcements hree....

view this post on Zulip Carl Anderson (Sep 10 2020 at 13:38):

I've loaded 30+ patients (and connected resources into) http://hapi.fhir.org/baseR4/ - all resources are tagged with:

[{
  'system': 'http://hl7.org/Connectathon',
  'code': '2020-Sep'
}]

view this post on Zulip Carl Anderson (Sep 10 2020 at 13:41):

Check out the demo app I've put together here: https://microsoft-healthcare-madison.github.io/patient-lists-demo/

view this post on Zulip Jason Vogt (Sep 10 2020 at 13:54):

MEDITECH added our server information to the spreadsheet

view this post on Zulip Carl Anderson (Sep 10 2020 at 14:11):

I'm getting a gateway timeout from the hapi server where I put the data last night. I suspect it's under load, and I'm looking for an alternate host for the demo data.

view this post on Zulip Eric Haas (Sep 10 2020 at 14:55):

re Crener endppont: https://fhir-open.stagingcerner.com/beta/dacc6494-e336-45ad-8729-b789ff8663c6/Group?_summary=true&type=person&characteristic=attributed-to&characteristic-reference=Practitioner/12397977

works fine using Postman ... but the base https://fhir-open.stagingcerner.com/beta/dacc6494-e336-45ad-8729-b789ff8663c6/Group is not reachable ... is that correct @Madhur Rajendran

view this post on Zulip Madhur Rajendran (Sep 10 2020 at 15:01):

Yes, that's correct. We don't support the default list. I just split the base url out from the query parameters.

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:08):

On HAPI, seems up and working by now (http://hapi.fhir.org/baseR4/Group?_tag=2020-Sep for example is working for me.)

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:08):

I've added a new field in the app settings to allow the user to enter a bearer token. I just need to insert it into the fetches in the other components. Feel free to view the PR here (and add yourself as a reviewer): https://github.com/microsoft-healthcare-madison/patient-lists-demo/pull/11

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:09):

@Carl Anderson https://microsoft-healthcare-madison.github.io/patient-lists-demo/ is erroring out for me because it's calling HAPI over http instead of https

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:09):

Mixed Content: The page at 'https://microsoft-healthcare-madison.github.io/patient-lists-demo/' was loaded over HTTPS, but requested an insecure resource 'http://hapi.fhir.org/baseR4//Group?_tag=http%3A%2F%2Fhl7.org%2FConnectathon%7C2020-Sep&_include=Group%3Amember'. This request has been blocked; the content must be served over HTTPS.

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:09):

I can work around by hitting "settings" and changing the HAPI server URL to use https, but it'd be good to have a default of https

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:09):

image.png

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:14):

Nice!

view this post on Zulip Joshua Smolic (Sep 10 2020 at 15:22):

fetch(${SERVER}/Group?_summary=true&type=person, { headers: { Authorization: 'Bearer xxxxuG40mw==' } })

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:33):

This is the meat of what I've added to the fetch calls.

// Returns a de-paginated bundle of resources from an initial URL.
export async function drain(resourceUrl, bearerToken, progressCallback) {
  const bundles = [];
  let url = resourceUrl;
  const authorization = {
    headers: {
      Authorization: `Bearer ${bearerToken}`
    }
  }
  do {
    // Fetch a bundle from the URL.
    await fetch(url, bearerToken ? authorization : undefined)
      .then(response => response.json())
      .then(bundle => bundles.push(bundle));
...

Does this look right?

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:39):

https://microsoft-healthcare-madison.github.io/patient-lists-demo/

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:39):

The branch version is live - go ahead and give it a try with your server and token.

view this post on Zulip Joshua Smolic (Sep 10 2020 at 15:43):

https://dev-mtx-interop.meditech.com/v1/ArgoPatientList/R4/

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:47):

Does this look right?

It looks OK. You should be able to check behavior in the Network tab to make sure it's issuing the headers you expect (e.g., against the HAPI server or against the Meditech server).

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:48):

@Joshua Smolic is helping confirm against his server. I just need to disable the automatic CapabilityStatement-checking feature...

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:51):

Hmm, is https://dev-mtx-interop.meditech.com/v1/ArgoPatientList/R4/metadata not working @Carl Anderson , or how is it breaking?

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:53):

My server settings form wouldn't let you apply changes if it failed to fetch a CapabilityStatement. It was the only other location where I was attempting to fetch from the server, and I hadn't passed the authorization bits through that call.

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:53):

So, for now, I've disabled that feature (checking CapabilityStatements before enabling the Apply button)

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:55):

Disabling seems fine, but I'm not sure what the issue was -- I'm able to fetch metadata for that server. Also note that the metadata endpoint should never need authorization.

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:56):

Ah, and I just noticed when fetching a bundle against hapi over https - the next url will be over http instead of https

view this post on Zulip Carl Anderson (Sep 10 2020 at 15:56):

Could it be CORS, then?

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:56):

??? Wow, is that a hapi configuration bug?

view this post on Zulip Josh Mandel (Sep 10 2020 at 15:57):

If you're having CORS issues with the metadata endpoint, you'll probably have them with the Group endpoint too :-)

view this post on Zulip Joshua Smolic (Sep 10 2020 at 15:59):

it looks like it was trying to fetch https://dev-mtx-interop.meditech.com/v1/ArgoPatientList/R4//CapabilityStatement, but we are serving it as https://dev-mtx-interop.meditech.com/v1/ArgoPatientList/R4/metadata

view this post on Zulip Josh Mandel (Sep 10 2020 at 16:11):

Okay that was a bug in the test app. To ask a server what capabilities it supports, we should be querying the metadata end point. @Carl Anderson

view this post on Zulip Carl Anderson (Sep 10 2020 at 16:20):

I really just wanted a convenient way to see 'is this thing a FHIR server'?

view this post on Zulip Josh Mandel (Sep 10 2020 at 16:24):

Yeah, that's GET ${thisthing}/metadata

view this post on Zulip Carl Anderson (Sep 10 2020 at 16:30):

@Madhur Rajendran - this is the code system I had found for characteristics (I think in the hackmd page): http://argonautproject.org/patient-lists/CodeSystem/characteristics

view this post on Zulip Carl Anderson (Sep 10 2020 at 16:42):

@Josh Mandel - Joshua Smolic confirmed that the bearer token change seems to work against the new code (but fails for other reasons). I'll merge the PR in a few if you don't have any other review. :coffee: :brb:

view this post on Zulip Madhur Rajendran (Sep 10 2020 at 16:48):

I had a question about the search parameters when searching by characteristic. Right now the confluence page lists the characteristic codes as 'location' 'attributed-to', etc. However, the binding in the FHIR spec seems to be unbound (so we're not guaranteed to have those exact codes).

In addition, it seems like the values in the argonaut valueSet might be different than what the confluence says to use for 1.3 Discovery by Characteristic. i.e. if the search parameter is attributed-to, a code value of attributed-to-organization should not qualify.

I guess my two main questions are:

  1. Is the argonaut valueSet the valueSet we're using for Group.characteristic.code? (I haven't been able to find a link to the list of values in the value set yet.)
  2. Should the binding be more restrictive? (since we're focusing on searching by specific values)

view this post on Zulip Josh Mandel (Sep 10 2020 at 16:57):

Carl Anderson: @Josh Mandel - Joshua Smolic confirmed that the bearer token change seems to work against the new code (but fails for other reasons). I'll merge the PR in a few if you don't have any other review. :coffee: :brb:

Great -- looks good!

view this post on Zulip Josh Mandel (Sep 10 2020 at 16:58):

However, the binding in the FHIR spec seems to be unbound

Can you share a link and/or screenshot so we're all on the same page here?

view this post on Zulip Josh Mandel (Sep 10 2020 at 16:59):

Is the argonaut valueSet the valueSet we're using for Group.characteristic.code? (I haven't been able to find a link to the list of values in the value set yet.)

Unless @Eric Haas has formalized this, I don't think it exists yet. For the connectathon, let's focus on just the "code" portion of the Codings, and use:

attributed-to-organization
attributed-to-practitioner
attributed-to-careteam

as Carl has in the sample app.

view this post on Zulip Josh Mandel (Sep 10 2020 at 17:00):

We'll of course need to work through a complete list, and formalize publication of a valueset as part of our ongoing spec development. But for today/tomorrow, it'd be good if we're all on the same page.

view this post on Zulip Madhur Rajendran (Sep 10 2020 at 17:05):

@Josh Mandel for the unbound part of the characteristic.code: https://www.hl7.org/fhir/group-definitions.html#Group.characteristic.code clicking on the link for the Terminology takes me to the unbound section of the FHIR spec.

So should I update the value we accept in the characteristic search parameter from 'attributed-to' to 'attributed-to-practitioner'?

view this post on Zulip Joshua Smolic (Sep 10 2020 at 17:23):

For the characteristic search, I thought 'attributed-to' was fine because the characteristic isn't actually defining what the characteristic is. The characteristic-reference itself links to what would indicate that. And as much as it can be human readable, it's just a reference. So, the server would be responsible for determining how the filter is applied. I think the reason being, if it's a reference to a practitioner, you could return any list the practitioner created, and any he has access to by his organizational affiliations.

view this post on Zulip Madhur Rajendran (Sep 10 2020 at 17:25):

But the Group search parameters define it as a token search on the Group.characteristic.code, https://www.hl7.org/fhir/group.html#search, so the rules for token search parameters would apply, wouldn't it?

view this post on Zulip Eric Haas (Sep 10 2020 at 17:40):

@Madhur Rajendran re characteristic they will be an argonaut code system and not formalized yet so you won't see them by trying to resolves and existing code system. . they are listed in the connectathon here: https://confluence.hl7.org/pages/viewpage.action?pageId=86977234#id-202009ArgonautPatientLists-1.3-DiscoverybyCharacteristic

view this post on Zulip Joshua Smolic (Sep 10 2020 at 17:40):

maybe, but since that is a codableConcept, it's not a single string

view this post on Zulip Eric Haas (Sep 10 2020 at 17:47):

Joshua Smolic said:

maybe, but since that is a codableConcept, it's not a single string

I won't be but for dev work is OK we don't have a canonical for Argo PL yet ...

view this post on Zulip Eric Haas (Sep 10 2020 at 17:57):

Characteristic Code Char-Value Value
location value-reference Location/[location_id]
attributed-to value-reference Practitioner/[practitioner_id]
attributed-to value-reference Organization/[organization_id]
team value-reference CareTeam/[careteam_id]

char code system = 'http://fhir.registry.org/argonaut/CodesSystem/group-characteristic'

view this post on Zulip Josh Mandel (Sep 10 2020 at 18:11):

OK, so for connectathon @Carl Anderson do you want to align with Eric's list?

view this post on Zulip Carl Anderson (Sep 10 2020 at 18:12):

Sure. And, admittedly, that part of the demo app isn't done yet.

view this post on Zulip Josh Mandel (Sep 10 2020 at 18:13):

Great. So for today/tomorrow our app + sample data should align to Eric's list. Longer term, we'll want to review (and I think we'll want to understand whether "attributed-to" is the right phrasing to use for patients that a given provider is following, -- and how it's different from "team"; and to articulate the use case for "attributed-to" an Organization.)

view this post on Zulip Josh Mandel (Sep 10 2020 at 18:14):

And for today/tomorrow @Eric Haas do you want to leave the "system" off? (Or update "http://fhir.registry.org" to something that doesn't rely on a non-existent "registry.org"?)

view this post on Zulip Carl Anderson (Sep 10 2020 at 18:15):

RIght now I'm working on resolving Patients from a Group with a bunch of async reference resolutions, since some of the server implementers don't support query bundles.

view this post on Zulip Eric Haas (Sep 10 2020 at 18:15):

'attributed-to' is taken from bulk data for similar type query

view this post on Zulip Eric Haas (Sep 10 2020 at 18:16):

@Josh Mandel yes - that system is a stub - since we don't have a canonical base for any of the FHIR artifacts we create

view this post on Zulip Josh Mandel (Sep 10 2020 at 18:17):

The bulk data use case is different though (attribution of members to health insurance plans, which is generally about much larger populations that user-facing lists)

view this post on Zulip Eric Haas (Sep 10 2020 at 18:18):

but I think the codes could be the same as in this list is attributed-to dr smith or my clinic or payor b?

view this post on Zulip Eric Haas (Sep 10 2020 at 18:18):

not as confusing if the same ...

view this post on Zulip Eric Haas (Sep 10 2020 at 18:19):

and remember this is different from managed-by

view this post on Zulip Eric Haas (Sep 10 2020 at 18:31):

@Joshua Smolic ` GET https://dev-mtx-interop.meditech.com:443/ArgoPatientList/R4/Group/62d97255-3f5e-4388-81fd-a46c9b2d6196'

view this post on Zulip Eric Haas (Sep 10 2020 at 18:32):

gives me:

{"resource":"v1/resource/error/_version/1/","detail":"could not route request"}

view this post on Zulip Joshua Smolic (Sep 10 2020 at 18:32):

GET https://dev-mtx-interop.meditech.com:443/v1/ArgoPatientList/R4/62d97255-3f5e-4388-81fd-a46c9b2d6196'

view this post on Zulip Eric Haas (Sep 10 2020 at 18:34):

give

{"resource":"v1/resource/error/_version/1/","detail":"could not route request"}

view this post on Zulip Eric Haas (Sep 10 2020 at 18:36):

should be: https://dev-mtx-interop.meditech.com:443/v1/ArgoPatientList/R4/Group/62d97255-3f5e-4388-81fd-a46c9b2d6196

view this post on Zulip Josh Mandel (Sep 10 2020 at 18:52):

Eric Haas: but I think the codes could be the same as in this list is attributed-to dr smith or my clinic or payor b?
Eric Haas: not as confusing if the same ...

It'd be good if you want to take a crack at plain-language definitions for each of these terms, so we can make sure we have common expectations about what's allowed and what it means. I'm not sure the "payor attribution" concept expresses the semantics of "Patients that Dr. Jones is following this weekend", but having draft definitions will make this assessment easier.

view this post on Zulip Joshua Smolic (Sep 10 2020 at 18:54):

The response from the dev-mtx-interop.meditech.com server for the fullUrl is now correctly including the /v1 on the start of the url.

view this post on Zulip Eric Haas (Sep 10 2020 at 19:46):

@Joshua Smolic got your server data up and running -- note that patient ashlyn test is listed twice

view this post on Zulip Joshua Smolic (Sep 10 2020 at 19:47):

@Eric Haas which group came back with the same patient twice?

view this post on Zulip Eric Haas (Sep 10 2020 at 19:49):

@Joshua Smolic also looks like your server does not support multipleOr for serarch (GET Patient?_id=ID1,ID2,ID3,...)

view this post on Zulip Eric Haas (Sep 10 2020 at 19:49):

can you confirm that?

view this post on Zulip Eric Haas (Sep 10 2020 at 19:51):

The Group is that has dupes:

Request: https://dev-mtx-interop.meditech.com:443/v1/ArgoPatientList/R4/Group/62d97255-3f5e-4388-81fd-a46c9b2d6196

view this post on Zulip Eric Haas (Sep 10 2020 at 19:52):

or batch?

view this post on Zulip Joshua Smolic (Sep 10 2020 at 19:53):

@Eric Haas correct, it does not support that currently

view this post on Zulip Jason Vogt (Sep 10 2020 at 20:32):

Here is what I am seeing in the logs

[2020-09-10T19:47:02.802Z apiserver 11 3388 dynamic-router deae423b-8a2f-462b-a12a-6dc260d4334c Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)
[2020-09-10T19:47:02.935Z apiserver 11 3388 dynamic-router 75e0b5a9-f76b-4170-a0c9-4c7a3058ca8a Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)
[2020-09-10T19:47:03.983Z apiserver 11 3388 dynamic-router 37b316bf-08ee-4c03-ac71-b25a05a08d85 Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)
[2020-09-10T19:47:04.134Z apiserver 11 3388 dynamic-router 96eaa246-3816-4d21-a2ab-90c375d52ef5 Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)
[2020-09-10T19:47:05.197Z apiserver 11 3388 dynamic-router d1e3dce0-b4df-42c9-b2da-d741ada6cb1a Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)
[2020-09-10T19:47:05.331Z apiserver 11 3388 dynamic-router ade77ea9-1639-4000-b83f-f9c6df424839 Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)
[2020-09-10T19:47:06.379Z apiserver 11 3388 dynamic-router fad4d66a-8476-48ad-b0e5-faeea5eadff1 Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)
[2020-09-10T19:47:06.511Z apiserver 11 3388 dynamic-router 2e07932d-3749-4030-99a2-d7560f6c8892 Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4/Patient?_id=Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2FFC9F29CC-EE9B-463F-A00C-412CD4461EF4%2C+Patient%2F41B242D8-2F8F-4FD8-8062-ED3F3A588DFC%2C+Patient%2F25D2CD43-F6DB-4D54-8CF6-0ACC9C538C74%2C+Patient%2F9E510C6D-00AC-4CE7-A11E-E067266032CB%2C+Patient%2F2343467D-91C9-4113-A855-435F58D56635%2C+Patient%2F0453ACC3-A1A9-4177-AA91-4B6561E5BACC%2C+Patient%2F95E3732A-8884-425A-B621-7ECEB8393E2F%2C+Patient%2F03017167-9F58-4812-89A7-FB87A442361C%2C+Patient%2FFE5013CF-20CC-4EFE-A937-AE8AE98C8AF5%2C+Patient%2F90DB7338-C328-47F8-928D-8E4D14EC4B06%2C+Patient%2F5D8AC795-782C-4210-8FB8-231F09C7E9CB%2C+Patient%2F9699FA83-DD07-42C0-9CB6-C67652ECF82D%2C+Patient%2F3B20D943-4E3F-4C8B-A54B-9471F316A0F5%2C+Patient%2FFD1BD66E-FA2E-4DAB-B621-36A62B980699%2C+Patient%2F2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\uti

view this post on Zulip Eric Haas (Sep 10 2020 at 20:35):

OK Meditech groups can be fetched and patient data added using simple fetches here: http://www.healthedata1.co/

view this post on Zulip Eric Haas (Sep 10 2020 at 20:46):

Welcome to sunny California! ... Noon yesterday:

image.png

view this post on Zulip Jason Vogt (Sep 10 2020 at 21:02):

[2020-09-10T20:58:08.682Z apiserver 6 5984 dynamic-router 7ce86dbb-9027-4f65-8ae7-2905ba088063 Error] error occurred while processing request:Error: could not route "v1/ArgoPatientList/R4Patient/2793C80D-0042-4A65-B6A7-50435B979BB0"
at routeApi (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:122:11)
at RoutingTable_1.routingTable.then (C:\Program Files (x86)\MEDITECH\RestAPI\source\util\Url.ts:55:33)
at process._tickCallback (internal/process/next_tick.js:68:7)

view this post on Zulip Carl Anderson (Sep 10 2020 at 21:14):

@Jason Vogt @Joshua Smolic - I have a fix deploying at the moment.

I'm now canonicalizing all links being fetched from the api.drain function to remove extra double slashes.

export async function drain(resourceUrl, bearerToken, progressCallback) {
  const bundles = [];
  let url = resourceUrl.replace(/([^:]\/)\/+/g, "$1");
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I believe this will fix the api calls (except for maybe the /metadata call.

view this post on Zulip Carl Anderson (Sep 10 2020 at 21:15):

@Eric Haas - that looks like Pacifica

view this post on Zulip Eric Haas (Sep 10 2020 at 22:03):

group ID for Goup with Q and QA extensions: 1171742 on both HAPI and Grahame's Server ( brought to you by Isaac's (Epic) team

view this post on Zulip Eric Haas (Sep 10 2020 at 22:12):

resourceType: Group
id: '1171742'
meta:
  versionId: '3'
  lastUpdated: '2020-09-10T21:56:49.830+00:00'
  source: '#MBXE4zYjaCGYtSjS'
  tag:
    - system: 'http://hl7.org/Connectathon'
      code: 2020-Sep
extension:
  - url: 'http://registry.fhir.org/argonaut/patientlistsquestionnairev1'
    valueReference:
      reference: Questionnaire/1169270
identifier:
  - system: 'http://example.org'
    value: dba0a9f9-82cb-4d42-ad92-3250756a9420
active: true
type: person
actual: true
name: ICU List
managingEntity:
  reference: Organization/example-organization-2
  display: Dairyland Hospital
member:
  - entity:
      extension:
        - url: >-
            http://registry.fhir.org/argonaut/patientlistsquestionnaireresponsev1
          valueReference:
            reference: QuestionnaireResponse/1169472
      identifier:
        system: 'http://example.org'
        value: '456'
      display: Name = Daniel Crimson (MRN = 456)
    inactive: false
  - entity:
      extension:
        - url: >-
            http://registry.fhir.org/argonaut/patientlistsquestionnaireresponsev1
          valueReference:
            reference: QuestionnaireResponse/1171740
      identifier:
        system: 'http://example.org'
        value: '567'
      display: Name = Peter Silie (MRN = 567)
    inactive: false
  - entity:
      extension:
        - url: >-
            http://registry.fhir.org/argonaut/patientlistsquestionnaireresponsev1
          valueReference:
            reference: QuestionnaireResponse/1171741
      identifier:
        system: 'http://example.org'
        value: '901'
      display: Name = Caleb Cushing (MRN = 901)
    inactive: false

view this post on Zulip Eric Haas (Sep 10 2020 at 22:17):

I fixed the last extension is was in the wrong place ( or was it? ) in member vs entity.

Notice they only have identifiers and not references to patients:

I think we should require references to simplify search

view this post on Zulip Eric Haas (Sep 11 2020 at 00:37):

also I think our form should be flat to make the rendering maneagable

view this post on Zulip Eric Haas (Sep 11 2020 at 03:23):

and I've implemented 3.3 here in my app....

image.png

view this post on Zulip Eric Haas (Sep 11 2020 at 13:06):

but broke the rest sigh...

view this post on Zulip Carl Anderson (Sep 11 2020 at 13:53):

Good morning, PL participants! While the hapi server is having it's morning cup of coffee, we thought we'd start an informal breakout session to cover some of the discussion topics outlined in the confluence page: https://confluence.hl7.org/display/FHIR/2020-09+Argonaut+Patient+Lists

view this post on Zulip Carl Anderson (Sep 11 2020 at 13:54):

We'll probably start in about 10 minutes, so make your way to Whova and join the Zoom meeting.

view this post on Zulip Annie Yin (Sep 11 2020 at 14:37):

@Carl Anderson Resources with ids 1465519 and 1465520 are the ones that don't have characteristic.exclude populated

view this post on Zulip Annie Yin (Sep 11 2020 at 14:48):

Also just pinged the Cerner server and none of the entries have characteristic.exclude filled

view this post on Zulip Jason Vogt (Sep 11 2020 at 14:55):

https://dev-mtx-interop.meditech.com/v1/ArgoPatientList/R4/Group?_summary=true&type=person&characteristic=location

view this post on Zulip Jason Vogt (Sep 11 2020 at 14:57):

@Annie Yin Would you like to try the MEDITECH endpoint? We can chat you the token for access

view this post on Zulip Josh Mandel (Sep 11 2020 at 15:12):

FYI @Carl Anderson I just added a "feature" request at https://github.com/microsoft-healthcare-madison/patient-lists-demo/issues/16 to clarify real vs canned data in the demo app.

view this post on Zulip Annie Yin (Sep 11 2020 at 15:14):

@Jason Vogt Yeah definitely, was just going to message you for credentials

view this post on Zulip Carl Anderson (Sep 11 2020 at 15:41):

(deleted)

view this post on Zulip Carl Anderson (Sep 11 2020 at 15:44):

@Annie Yin - I updated those two groups characteristics to include "exclude": "false"

view this post on Zulip Madhur Rajendran (Sep 11 2020 at 16:31):

Annie Yin

Also just pinged the Cerner server and none of the entries have characteristic.exclude filled

I updated it, they should have exclude filled out now.

view this post on Zulip Eric Haas (Sep 11 2020 at 17:38):

I will be creating summary slides live

view this post on Zulip Jason Vogt (Sep 11 2020 at 17:39):

We have a the search by just characteristic working if any wants to check it out
https://dev-mtx-interop.meditech.com/v1/ArgoPatientList/R4/Group?_summary=true&type=person&characteristic=location

view this post on Zulip Annie Yin (Sep 11 2020 at 18:05):

@Carl Anderson @Madhur Rajendran thanks!

view this post on Zulip Annie Yin (Sep 11 2020 at 18:07):

@Madhur Rajendran just fetched and getting errors because Group resource ids aren't strings

view this post on Zulip Eric Haas (Sep 11 2020 at 19:09):

slides are here: https://hackmd.io/DRTZx4jlRIWqpean8sLVEQ

view this post on Zulip Madhur Rajendran (Sep 11 2020 at 19:14):

seems like the meeting just ended?

view this post on Zulip Sam Echevarria (Sep 11 2020 at 19:15):

Try refreshing--should be back now!

view this post on Zulip Eric Haas (Sep 11 2020 at 19:26):

back on line now

view this post on Zulip Madhur Rajendran (Sep 11 2020 at 19:30):

I updated the endpoint to use the new 'value-reference' search parameter (instead of characteristic-reference). The ids should also be returned as strings now.

view this post on Zulip Eric Haas (Sep 13 2020 at 20:11):

I big thanks to all our Patient Lists participants. i consider is a very successful connectathon track for the the first-time out!


Last updated: Apr 12 2022 at 19:14 UTC