Stream: implementers
Topic: Extending interactions
Michael Lawley (Oct 18 2019 at 05:43):
We are investigating design space around creating special kinds of CodeSystems (eg SNOMED CT) and wondering whether it would be legitimate to have the CREATE interaction on CodeSystem support an additional MIME type (application/zip
in this case) along with some custom parameters.
This has the appeal of symmetry with POSTing a FHIR CodeSystem Resource.
The alternative would be a custom operation.
Grahame Grieve (Oct 18 2019 at 10:24):
you can do that legitimately - it's just an extension outside the specification space. I don't think we'll standardise that... unless enough people ask
Michael Lawley (Oct 19 2019 at 01:13):
Thanks. So if we do it inside the specification space then we'd defined an operation like:
{ "resourceType": "OperationDefinition", "id": "cf-1571444803740", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"mm\"></a></div>" }, "url": "http://ontoserver.csiro.au/profiles/CodeSystem-x-create", "name": "Create CodeSystem from native format", "status": "draft", "kind": "operation", "code": "x-create", "resource": [ "CodeSystem" ], "type": true, "parameter": [ { "code": "binary", "use": "in", "min": 1, "max": "1", "documentation": "For SNOMED CT, a ZIP of the RF2 SNAPSHOT content", "type": "Binary" }, { "code": "system", "use": "in", "min": 1, "max": "1", "type": "uri" }, { "code": "version", "use": "in", "min": 1, "max": "1", "type": "string" }, { "code": "return", "use": "out", "min": 1, "max": "1", "type": "OperationOutcome" } ] }
I'd kind of like this to be async by default. Is there a way to document this?
Michael Lawley (Oct 19 2019 at 01:16):
The other issue is that the preferred way to interact with this would be a POST of the ZIP with the additional parameters (system & version) as query parameters. Is that also legit? HAPI seems to ignore query parameters when there's a POST body, requiring the use of a Parameters resource.
Grahame Grieve (Oct 19 2019 at 11:38):
I'm not sure about the query parameters. There's no way to talk about async in capability statement or operation definition at this time
Last updated: Apr 12 2022 at 19:14 UTC