Stream: shorthand
Topic: Bug when using SNOMED Version URLs
Noemi Deppenwiese (Apr 17 2020 at 12:27):
I want to create a ValueSet with some SNOMED CT codes. Per https://www.hl7.org/fhir/snomedct.html#4.3.1.0.3, Versions of SCT should be given with a Version URL, so i wrote the following in FSH:
Alias: SCT = http://snomed.info/sct Alias: SCTIntlMar2020 = http://snomed.info/sct/900000000000207008/20200309 ValueSet: SCTBodySitesVS Id: sctBodySitesVS Title: "Seitenlokalisation nach SNOMED CT" Description: "Seitenlokalisation z.B. einer Prozedure" * SCT|SCTIntlMar2020#85421007 "Structure of right half of body (body structure)" * SCT|SCTIntlMar2020#31156008 "Structure of left half of body (body structure)"
Unfortunaltely, SUSHI gives me an Resolved value "SCT|SCTIntlMar2020" is not a valid URI.
error... Not using the Alias for the version also doesn't work.
Nick Freiter (Apr 17 2020 at 12:52):
Combining Aliases in that way isn't currently a feature of SUSHI. Generally speaking, you have to use one single Alias at a time. If you wanted output like the following:
"compose": { "include": [ { "system": "http://snomed.info/sct", "version": "http://snomed.info/sct/900000000000207008/20200309", "concept": [ { "code": "85421007", "display": "Structure of right half of body (body structure)" }, { "code": "31156008", "display": "Structure of left half of body (body structure)" } ] } ] }
you will want to just make one single Alias that combines the both the system and version that you want:
Alias: SCTIntlMar2020 = http://snomed.info/sct|http://snomed.info/sct/900000000000207008/20200309 ValueSet: SCTBodySitesVS Id: sctBodySitesVS Title: "Seitenlokalisation nach SNOMED CT" Description: "Seitenlokalisation z.B. einer Prozedure" * SCTIntlMar2020#85421007 "Structure of right half of body (body structure)" * SCTIntlMar2020#31156008 "Structure of left half of body (body structure)"
This is somewhat related to an existing feature request that we have https://github.com/FHIR/sushi/issues/356, so this is something we can look into adding in the future, since multiple users are interested in this kind of behavior with Aliases and it seems like a natural idea that Aliases would work in that way.
Jean Duteau (Apr 17 2020 at 14:48):
I just tried that and I still get the same error:
Alias: SNOMED-US = http://snomed.info/sct|http://snomed.info/sct/731000124108
- SNOMED-US#39579001 "Anaphylaxis"
- SNOMED-US#419042001 "Anaphylactic shock, caused by adverse effect of correct medicinal substance properly administered"
Resolved value "http://snomed.info/sct|http://snomed.info/sct/731000124108" is not a valid URI
Jean Duteau (Apr 17 2020 at 14:50):
NOTE: I just tried it without aliases altogether and get the same error:
Jean Duteau (Apr 17 2020 at 14:53):
NM, I was running 0.12.0 and not 0.12.1
Noemi Deppenwiese (Apr 17 2020 at 15:21):
Worked for me with one single Alias and 0.12.1 too :)
Jean Duteau (Apr 17 2020 at 15:24):
hmm, although SUSHI now doesn't complain, I don't think it's moving the version over properly. I want to make sure that what I'm expecting is what is supposed to happen...
Alias: SNOMED-US = http://snomed.info/sct|http://snomed.info/sct/731000124108 ValueSet: AnaphylaxisAdverseEventVS Title: "Anaphylaxis Adverse Event Value Set" Description: "Codes that represent an Anaphylaxis Adverse Event" * SNOMED-US#39579001 "Anaphylaxis" * SNOMED-US#419042001 "Anaphylactic shock, caused by adverse effect of correct medicinal substance properly administered"
{ "resourceType": "ValueSet", "status": "active", "name": "AnaphylaxisAdverseEventVS", "id": "AnaphylaxisAdverseEventVS", "title": "Anaphylaxis Adverse Event Value Set", "description": "Codes that represent an Anaphylaxis Adverse Event", "version": "0.1.0", "url": "http://ibm.com/fhir/fda/icsr/ValueSet/AnaphylaxisAdverseEventVS", "compose": { "include": [ { "system": "http://snomed.info/sct", "concept": [ { "code": "39579001", "display": "Anaphylaxis" }, { "code": "419042001", "display": "Anaphylactic shock, caused by adverse effect of correct medicinal substance properly administered" },
Shouldn't there be a "version" tag in the compose.include?
Noemi Deppenwiese (Apr 17 2020 at 15:28):
My compose has the Tag:
Alias: SCTIntlMar2020 = http://snomed.info/sct|http://snomed.info/sct/900000000000207008/20200309 ValueSet: SCTBodySitesVS Id: sctBodySitesVS Title: "Seitenlokalisation nach SNOMED CT" Description: "Seitenlokalisation z.B. einer Prozedure" * SCTIntlMar2020#85421007 "Structure of right half of body (body structure)" * SCTIntlMar2020#31156008 "Structure of left half of body (body structure)"
leads to
"description" : "Seitenlokalisation z.B. einer Prozedure", "compose" : { "include" : [ { "system" : "http://snomed.info/sct", "version" : "http://snomed.info/sct/900000000000207008/20200309", "concept" : [ { "code" : "85421007", "display" : "Structure of right half of body (body structure)" }, { "code" : "31156008", "display" : "Structure of left half of body (body structure)" } ] } ]
Jean Duteau (Apr 17 2020 at 15:28):
okay, then I'm doing something wrong....
Nick Freiter (Apr 17 2020 at 15:31):
@Jean Duteau the FSH looks right, and when I tried that FSH with 0.12.1 I did get the version
tag. Is it possible that was output from an older run of SUSHI on that FSH?
Jean Duteau (Apr 17 2020 at 15:33):
yeah, i blew away the input directory and it generated properly.
Keith Boone (Apr 17 2020 at 17:27):
I would love an option the blew away the output folder before building (but NOT as default behavior), and a informational message that other content existed when it doesn’t do a blow it away.
David Hay (Apr 17 2020 at 23:01):
output or input?
Keith Boone (Apr 19 2020 at 01:55):
Yeah, that too.
Keith Boone (Apr 19 2020 at 01:55):
I actually blow away both input and output folders when I start with Sushi these days (When I can, which I try to make sure I can).
Last updated: Apr 12 2022 at 19:14 UTC