FHIR Chat · capabilities,operation.reference.definition · bulk data

Stream: bulk data

Topic: capabilities,operation.reference.definition


view this post on Zulip Richard Braman (Jul 28 2020 at 18:38):

I have seen different values for for the bulk data operations definition reference in 3 different reference servers:
In SMART ref implementation:

{
                    "name": "group-export",
                    "definition": {
                        "reference": "OperationDefinition/group-export"
                    }
}

in CMS BCDA

 {
                    "name": "group-export",
                    "definition": {
                        "reference": "https://sandbox.bcda.cms.gov/api/v1/Group/[id]/$export"
                    }
 }

in CMS DPC

 {
                    "name": "export",
                    "definition": {
                        "reference": "http://build.fhir.org/ig/HL7/bulk-data/OperationDefinition-group-export"
                    }
                },

They all look wrong based on what I have read in the spec it should look like this:

"name": "group-export",
           "definition": {
             "reference": "http://hl7.org/fhir/uv/bulkdata/OperationDefinition/group-export"
           }

with "reference": "http://build.fhir.org/ig/HL7/bulk-data/OperationDefinition-group-export" for systems before bulk fhir 1.0

Correct?

view this post on Zulip Dan Gottlieb (Jul 28 2020 at 19:12):

The IG defines the canonical url as "http://hl7.org/fhir/uv/bulkdata/OperationDefinition/group-export", which look like it matches the format used by other operations. You could also add a version so it would be something like: "http://hl7.org/fhir/uv/bulkdata/OperationDefinition/group-export|1.0.0".

view this post on Zulip Dan Gottlieb (Jul 28 2020 at 19:13):

@Vladimir Ignatov - it would be great to update the SMART bulk data reference server to use full urls in the CapabilityStatement

view this post on Zulip Richard Braman (Jul 28 2020 at 19:42):

@Vladimir Ignatov is the short hand url allowed because the Cap stmt "instantiates" http://hl7.org/fhir/uv/bulkdata/CapabilityStatement/bulk-data?

view this post on Zulip Vladimir Ignatov (Jul 29 2020 at 13:37):

I'm afraid this part is very confusing. I remember there were some errors in the IG and I wonder if there is a real-life example of CapabilityStatement that we could look at?

The relative URLs we are talking about here are CapabilityStatement.rest[0].operation[n].definition.reference and not the canonical urls of specific OperationDefinition. I will update mine to use the full URLs, but Isn't it also valid to point to local OperationDefinition (in case you have one)?

view this post on Zulip Robert Scanlon (Jul 29 2020 at 19:26):

Was the intent @Vladimir Ignatov to serve those OperationDefinition resources from the smart bulk data server? It looks like those specific OperationDefinition resources aren't available. I thought it was an interesting approach and saw the server supports OperationDefinition reads, but those three definitions aren't on the server.

view this post on Zulip Robert Scanlon (Jul 29 2020 at 19:29):

Something that tripped me up is that the type of CapabilityStatement.rest[0].operation[n].definition changed from Reference(OperationDefinition) to Canonical(OperationDefinition) from STU3 to R4. So depending on if you are a R4 server or a STU3 server, your capabilitystatement will look a little different, right?

view this post on Zulip Robert Scanlon (Jul 29 2020 at 19:32):

Also, I think you need to be careful that group-export and patient-export are at CapabilityStatement.rest.resource.operation.definition (note resource) because they are instance and resource level operations.

view this post on Zulip Vladimir Ignatov (Jul 29 2020 at 19:35):

Yes, some of OperationDefinition resources are missing. That is because this is in fact not a FHIR server and resources like these are served as static files. When I did that I only wanted to have a CapabilityStatement that looks right and I didn't expect that anybody would have to resolve that. It doesn't matter now because I just switched to full URLs. You may be right about the rest though. Let me investigate...

view this post on Zulip Vladimir Ignatov (Jul 29 2020 at 20:11):

Yes, It looks like I will have to modify the structure of the CapabilityStatement to reflect the FHIR version.

I'm not sure for the other matter though. What you are suggesting makes perfect sense but I wonder if that is a strict requirement or a matter of choice. For example, consider this:

  1. Only global operations (CapabilityStatement.rest.operation.definition) are used in the official example - http://hl7.org/fhir/uv/bulkdata/STU1/CapabilityStatement-bulk-data.json.html
  2. If I don't really have a FHIR server with resources and operations on them I should still be able to define those exports as global operations (I guess)

I think I might be OK with such CapabilityStatement on this particular server, but I do need to know what the required approach is in order to test for it properly in BDT. Does anybody here know for sure how those operation definitions should be defined? @Dan Gottlieb or @Josh Mandel maybe?

view this post on Zulip Robert Scanlon (Jul 29 2020 at 20:14):

I believe the issue in the capability statement was addressed in a errata fix that never officially published: https://github.com/HL7/bulk-data/blob/master/resources/capabilitystatement-bulk-data.json

view this post on Zulip Robert Scanlon (Jul 29 2020 at 20:15):

One thing to remember is that isn't really an 'example', per-se, because it is of kind 'requirements'

view this post on Zulip Robert Scanlon (Jul 29 2020 at 20:18):

(I am inferring that updated capabilitystatement in the github repo is an unpublished errata update based on this comment from Josh: https://chat.fhir.org/#narrow/stream/179250-bulk-data/topic/Canonical.20URI.20for.20the.20Bulk.20Data.20CapabilityStatement/near/193061682)

view this post on Zulip Robert Scanlon (Jul 29 2020 at 20:26):

If I don't really have a FHIR server with resources and operations on them I should still be able to define those exports as global operations (I guess)

Why do you say you don't have a FHIR server? A bulk data server conforming to this spec must be a FHIR server, correct? You could only support the capability interaction, the bulk data operations and nothing else, but it still is a FHIR server which means you must have a valid capability statement.

view this post on Zulip Dan Gottlieb (Jul 29 2020 at 20:39):

@Robert Scanlon @Vladimir Ignatov yup, unfortunately, the currently CapabilityStatement in the IG is incorrect. The fixed version is at http://build.fhir.org/ig/HL7/bulk-data/branches/tech-correct/ (diff at https://github.com/HL7/bulk-data/compare/v1.0.0...tech-correct). We're working on getting this published to the main site (the FHIR-I WG approved publication earlier this month).

view this post on Zulip Vladimir Ignatov (Jul 29 2020 at 20:47):

Well, that is a separate topic. The reference server was probably the first Bulk Data server out there, created back when the spec was just an early draft. It wasn't published and it wasn't that FHIR-specific. This server had nothing to do with FHIR. It just implemented the API and exported some resources as if they are coming from a FHIR server. Over time, other "FHIR" futures like system-level export and capability statement were added and I had to do some patchwork to support them. I even used to think that Bulk Data can be used to export arbitrary JSON data and not only FHIR resources, but by now it seems that this is no longer the case. Anyway, my point is that I am just pretending to be a FHIR server by trying to behave like one wherever that is possible.

view this post on Zulip Robert Scanlon (Jul 29 2020 at 20:58):

Ah, thanks for the background. It's a wonderful developer tool. Sorry for sidetracking a bit. But I do think it makes sense to have the capability statement be correct because it is one of the few references out there, and the placement of the OperationDefinition within the CapabilityStatement is unambiguous in the spec because the system/type/instance elements in the OperationDefinition defines that.

view this post on Zulip Uday Kiran (Aug 13 2020 at 04:44):

@Dan Gottlieb As indicated earlier that the current CapabilityStatement in the IG is incorrect. Was curious when would the correct version of the CapabilityStatement in the IG will be published ? Any tentative estimate on the timeline ?

view this post on Zulip Dan Gottlieb (Aug 13 2020 at 14:31):

The corrected version is at http://build.fhir.org/ig/HL7/bulk-data/branches/tech-correct/CapabilityStatement-bulk-data.json.html . It's waiting on @Grahame Grieve's availability to push it to the main FHIR website.

view this post on Zulip Grahame Grieve (Aug 13 2020 at 22:05):

getting to it

view this post on Zulip Uday Kiran (Aug 14 2020 at 08:34):

Thank you @Dan Gottlieb and @Grahame Grieve for the response.

view this post on Zulip Lee Surprenant (Oct 01 2020 at 18:40):

Dan Gottlieb said:

Robert Scanlon Vladimir Ignatov yup, unfortunately, the currently CapabilityStatement in the IG is incorrect. The fixed version is at http://build.fhir.org/ig/HL7/bulk-data/branches/tech-correct/ (diff at https://github.com/HL7/bulk-data/compare/v1.0.0...tech-correct). We're working on getting this published to the main site (the FHIR-I WG approved publication earlier this month).

I noticed that this url is still wrong at https://hl7.org/fhir/uv/bulkdata/operations/index.html
Wasn't that tech-correct version supposed to have been published by now?

view this post on Zulip Josh Mandel (Oct 01 2020 at 22:08):

It was not (the footer at https://hl7.org/fhir/uv/bulkdata/operations/index.html shows "Generated 23/08/2019"). @Grahame Grieve I know this is somewhere on your formidable TODO list.

view this post on Zulip Grahame Grieve (Oct 01 2020 at 22:55):

is this approved by the TSC? It's not come through on the formal publishing to do list?

view this post on Zulip Josh Mandel (Oct 02 2020 at 00:16):

I'm not sure. On Aug 4 Dan asked you:

Hi Grahame, checking back on the bulk data IG technical correction publication. Anything else I need to do on my end?

And you answered "No, it's in my queue". If there's a missing approval, can you let us know how to track this down?

view this post on Zulip Grahame Grieve (Oct 02 2020 at 01:00):

well, you haev to get the committee that owns it to ask TSC to approve a technical correction. My apologies for being lax here - I assumed that this process would be happening in parallel

view this post on Zulip Dan Gottlieb (Oct 02 2020 at 16:03):

@Lloyd McKenzie - FHIR-I approved the publication of the bulk data technical correction on July 13th. Per @Grahame Grieve's comment, it sounds like the TSC also has to approve it before it goes on the website. Do you know how we move this forward? Thanks!

view this post on Zulip Lloyd McKenzie (Oct 02 2020 at 16:43):

@Anne Wizauer Do you know where this is at?

view this post on Zulip Anne Wizauer (Oct 02 2020 at 16:47):

TSC doesn't approve technical corrections - those go straight to Wayne/Lynn. @Lynn Laakso do you know if this came through?

view this post on Zulip Troy Biesterfeld (Oct 06 2020 at 16:49):

I noticed that the resource types (Patient, Group) listed in the CapabilityStatement [.rest.resources.type] at http://build.fhir.org/ig/HL7/bulk-data/branches/tech-correct/CapabilityStatement-bulk-data.json.html are not in camelcase, but instead are in lowercase, so they do not match the required valueset for that field. This can cause strict parsing of the CapabilityStatement to fail.

view this post on Zulip Josh Mandel (Oct 06 2020 at 18:49):

Good catch!

view this post on Zulip Dan Gottlieb (Oct 14 2020 at 13:35):

Thanks @Troy Biesterfeld ! FHIR-I approved the fix on Monday and I just merged it.

view this post on Zulip Dan Gottlieb (Oct 14 2020 at 13:43):

@Lloyd McKenzie @Lynn Laakso checking back on this. FHIR-I approved publication of the technical correction to the Bulk Data IG on July 13th - how do we get it published? Thanks!

view this post on Zulip Lynn Laakso (Oct 14 2020 at 14:02):

Was there a publication request submitted @Dan Gottlieb ? On there it would be ticked as an errata and also requires a http://www.hl7.org/permalink/?CTOErrataLetter. In addition you may want to tick the boxes for STU extension as the STU period ended 2020-08-20. Errata needs CTO approval, STU extension needs TSC approval.

view this post on Zulip Dan Gottlieb (Oct 14 2020 at 14:30):

Thanks @Lynn Laakso . I don't believe a publication request was submitted - how do I do that? What's the process for getting CTO and TSC approval?

view this post on Zulip Lynn Laakso (Oct 14 2020 at 14:34):

@Dan Gottlieb please see the HL7 Confluence main page under Documentation & Help on "How to Create a Publication Request from Template at https://confluence.hl7.org/display/HDH/How+to+Create+a+Publication+Request+from+Template

view this post on Zulip Dan Gottlieb (Oct 14 2020 at 14:38):

Thanks - I'll take a look

view this post on Zulip Dan Gottlieb (Oct 27 2020 at 17:56):

@Grahame Grieve Wayne approved the technical corrections and signed the errata letter on Friday. Are we ready to move ahead with posting the Bulk Data TC branch to the FHIR site?

view this post on Zulip Grahame Grieve (Oct 28 2020 at 05:33):

I expect so but I haven't heard. I'll check

view this post on Zulip Grahame Grieve (Oct 28 2020 at 19:56):

ok. it's in progress, but you need to update the title to say what it's status is, and also, you need to fill out an entry for the new version in package-list.json. Typically we would call this 1.1.0, but you have called it 1.2.0 - is there any thinking behind that?

view this post on Zulip Dan Gottlieb (Oct 28 2020 at 20:05):

Thanks! The tech-correct branch with the technical corrections should have a version number of 1.0.1, though the master branch has the Argonaut version which was initially called v1.2, and is now v1.5 (but not yet changed in the IG).

view this post on Zulip Dan Gottlieb (Nov 01 2020 at 18:23):

@Grahame Grieve I updated the package-list.json for the IG to reflect the technical correction version (1.0.1) and at Lynn's request, updated the HL7 logo in the header. The branch to be deployed is at https://github.com/HL7/bulk-data/tree/tech-correct (http://build.fhir.org/ig/HL7/bulk-data/branches/tech-correct/) . I think the version numbers in this branch should be correct, but let me know if you spot anything that's off. Thanks!

view this post on Zulip Lynn Laakso (Nov 11 2020 at 02:21):

@Dan Gottlieb the package should be 1.1.0 not 1.0.1 can you update the tech-correct branch?

view this post on Zulip Dan Gottlieb (Nov 11 2020 at 14:15):

@Lynn Laakso - can you clarify why this change is needed? The FHIR spec, and other IGs like US Core seem to use a version number of x.x.1 for errata releases which aligns with the semantic versioning spec. If we make the version for the IG 1.1.0, won't people assume that the changes are material? Why have a three segment version at all if non-substantive error corrections don't use the third segment?

view this post on Zulip Lynn Laakso (Nov 11 2020 at 15:29):

@Grahame Grieve ?

view this post on Zulip Grahame Grieve (Nov 12 2020 at 20:09):

I agree that this one should be 1.0.1

view this post on Zulip Lynn Laakso (Nov 12 2020 at 20:10):

and subdirectory STU1.0.1?

view this post on Zulip Grahame Grieve (Nov 12 2020 at 20:11):

yes

view this post on Zulip Dan Gottlieb (Nov 13 2020 at 15:46):

@Lynn Laakso do you have a sense of when you'll be able to post the IG to the FHIR website (it would be great to have the corrected version up prior to Dev Days)?

view this post on Zulip Lynn Laakso (Nov 13 2020 at 15:51):

just hit a snag with publishing where the publisher had ERROR @ parameters: canonical URL of http://hl7.org/fhir/uv/bulkdata does not match the required canonical of http://hl7.org/fhir/us/bulkdata (src = Publisher)

view this post on Zulip Lynn Laakso (Nov 13 2020 at 15:52):

other cross-realm publications have needed his personal touch

view this post on Zulip Dan Gottlieb (Nov 13 2020 at 16:02):

Ah, ok - can you circle with Grahame on this?

view this post on Zulip Lynn Laakso (Nov 13 2020 at 16:07):

I PM'ed him directly but it's wee hours of Saturday morning for him

view this post on Zulip Grahame Grieve (Nov 13 2020 at 19:43):

hm. I might have to publish this one

view this post on Zulip Brett Marquard (Nov 17 2020 at 19:12):

Did it publish?

view this post on Zulip Brett Marquard (Nov 19 2020 at 13:25):

Sorry, I forgot how crazy devdays can be...

view this post on Zulip Brett Marquard (Nov 24 2020 at 15:04):

@Lynn Laakso and @Grahame Grieve - Is there anything @Dan Gottlieb can do to help?

view this post on Zulip Lynn Laakso (Nov 24 2020 at 15:39):

The IG has crossed realms between initial ballot and publication which makes it messy and a Grahame-only job I'm afraid.

view this post on Zulip Brett Marquard (Nov 24 2020 at 15:45):

Sounds extra fun, thanks Lynn.

view this post on Zulip Dan Gottlieb (Nov 30 2020 at 15:21):

@Grahame Grieve since @Lynn Laakso isn't able to post the bulk data technical correction to the website, is getting it posted on your to do list? Thanks!

view this post on Zulip Brett Marquard (Dec 01 2020 at 15:02):

@Lynn Laakso Is there someone other than Grahame that could take a look? I fear with ballot deadline looming GG is going to be slammed for a while...

view this post on Zulip Lynn Laakso (Dec 01 2020 at 15:05):

sadly no. I would help but the tooling now checks for cross-realm anomalies and will not proceed.

view this post on Zulip Grahame Grieve (Dec 06 2020 at 10:13):

I have did this


Last updated: Apr 12 2022 at 19:14 UTC