FHIR Chat · Unable to process Value unless a single type is specified · IG creation

Stream: IG creation

Topic: Unable to process Value unless a single type is specified


view this post on Zulip Rob Hausam (Aug 17 2018 at 03:43):

I'm slicing on ConceptMap.group.element.target.dependsOn with 'property' as the discriminator and getting this error. I'm not absolutely sure what it wants me to fix, as I think I have only a single type (uri). Anyone have tips on what to look at?

view this post on Zulip Grahame Grieve (Aug 17 2018 at 03:44):

that's a spreadhseet loading error - you have specified a fixed value, but the spreadsheet parser doesn't know how to parse it unless you explicitly specify the type

view this post on Zulip Grahame Grieve (Aug 17 2018 at 03:45):

the spreadsheet parser doesn't have access to the underlying resource at that point

view this post on Zulip Rob Hausam (Aug 17 2018 at 03:46):

right, it's spreadsheet (since that's what LIVD is using) - so add the type for both of my slices?

view this post on Zulip Grahame Grieve (Aug 17 2018 at 03:48):

yes in this case you have to, just so it can parse the fixed value

view this post on Zulip Rob Hausam (Aug 17 2018 at 03:48):

that's no problem, but it didn't work - unless I didn't do it right

view this post on Zulip Grahame Grieve (Aug 17 2018 at 03:49):

what do you have for the value of Type?

view this post on Zulip Rob Hausam (Aug 17 2018 at 03:50):

uri

view this post on Zulip Grahame Grieve (Aug 17 2018 at 03:51):

I'll have to debug it then. commit, and I'll look at it in a sec- just trying to figure out a DEQM issue

view this post on Zulip Rob Hausam (Aug 17 2018 at 03:53):

sure - I haven't done much with profiling with spreadsheets before so I'm probably making multiple mistakes

view this post on Zulip Grahame Grieve (Aug 17 2018 at 03:56):

let me know when you've committed

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:07):

ok - I was just trying something first - following a pattern that I've seen (a bit blindly), but now working yet
I'm also trying to use a required binding to a code list with the uri slices - that could be a bit off the beaten path
will commit now

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:11):

which ig?

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:13):

committed - HL7/livd

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:19):

k on it shortly

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:19):

sure

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:21):

as I said, I'm probably doing plenty of things wrong - haven't found many examples to look at and documentation is somewhat sparse

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:30):

@Lloyd McKenzie livd won't build for me because it's not getting the latest iG publisher

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:30):

though it claims that it's current

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:32):

I'm actually in the process of removing that from git and just handling it locally
you can run as ./_genUpdatePublisher.sh

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:32):

oh, ok - that worked for me

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:34):

it's trying to run 14809 for me - really really old

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:35):

hmm - I don't really get that - but it can be downloaded separately, of course

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 04:42):

Did you commit with the new publisher after running the getnUpdatePublisher?

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:43):

who? why?

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 04:43):

Rob

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:44):

I committed after downloading the new publisher - because I needed it to resolve the issue with the rollback (which I had, too)

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 04:44):

And everything in src-generated was committed?

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:45):

I do not understand this spreadsheet. what are you trying to do with the target?

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:46):

you've tried slicing something that doesn't repeat, and you've not specified a type for the value?

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:47):

I'm on 14877

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:48):

ConceptMap.group.element.target.dependsOn is 0..*

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:48):

trying to slice on property

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:48):

but you sliced property

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:49):

what would slicing on property do?

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:49):

ok - that's not what I intended - trying to get a handle on how to do it in the spreadsheet

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:49):

I'm finding the xml a lot easier to understand for this

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:50):

slicing on property allows you to provide exactly one each of a dependsOn value for specimen and result

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:52):

so property is sliced and bound to the value set with 'specimen' and 'result'
and then dependsOn.value will be populated for those (exactly two) slices

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:53):

so this is a uri element. so the values need to be full uris (not technically but it's good practive)

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:53):

there's no need for a binding. just set the fixed value

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:53):

and then you prohibit system.... because?

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:57):

yeah - I was concerned about that, but relative urls are allowed, as well as binding to a value set
the rationale for prohibiting system is that property is mandatory and earlier the group didn't feel it was needed (and Hans likes to get rid of things that aren't needed)
but that doesn't really make any sense, particularly if we're using the binding - we do have a system
and in fact I tried to populate it (forgetting for the moment that it had been constrained away)

view this post on Zulip Rob Hausam (Aug 17 2018 at 04:59):

as I said - learning from multiple mistakes trying to get comfortable with doing it this way - and I know that spreadsheets are going away, but we have them now

view this post on Zulip Grahame Grieve (Aug 17 2018 at 04:59):

right. system is necessary because you're mapping from and to CodeableConcept elements

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:00):

yes, it certainly is - just forgot to fix that

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:03):

dependsOn isn't directly in the mapping, but we need it to enable the guidance for differentiating between multiple available LOINC mappings for some IVD codes
it's expected that value will mostly be text - it is string - but maybe could be computable at some point

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:05):

then we should not constrain system out.

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:06):

no, I totally agree - it was an oversight to leave it constrained - that makes no sense

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:07):

where would specimen come from ?

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:08):

Specimen.type?

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:10):

from the local lab knowing what they want to do with it
it could be specimen type - but the group felt that for the IVD manufacturers and labs who receive it it would normally be text descriptions of the specimen(s) that would be associated with that particular mapping

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:11):

but it would still conceptually be Specimen.type, just not coded

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:11):

yes, I agree

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:13):

ok committed what I think you want in the spreadsheet

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:13):

no. I missed fixing the cardinality on system. you can do that

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:14):

ok - very helpful - I'll see how close I'm thinking now to what you actually did - thanks!

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:15):

I'll let you know when I'm done fighting with git

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:15):

ok

view this post on Zulip Grahame Grieve (Aug 17 2018 at 05:15):

looks like I win. you can pull now

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:16):

excellent

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:31):

the slicing pattern makes sense - I just hadn't managed to come up with it
appreciate the pointer in the right direction

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:31):

a further question I have is, what's the way to set closed slicing in the spreadsheet?
I haven't found anything obvious (to me) for doing that yet

view this post on Zulip Rob Hausam (Aug 17 2018 at 05:41):

the system discussion kind of went in a circle - since there's no binding for 'value' and it's expected to be text, 'system' isn't relevant, which was the original idea - so leaving it constrained out makes sense

view this post on Zulip Grahame Grieve (Aug 17 2018 at 06:18):

it

view this post on Zulip Grahame Grieve (Aug 17 2018 at 06:19):

it's always going to be text? never going to be computable?

view this post on Zulip Grahame Grieve (Aug 17 2018 at 06:21):

there appears to be no way to make it closed in the spreadsheet - that's odd. @Lloyd McKenzie I thought we routinely did that?

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 06:22):

Closing slices is a very bad thing, so no we don't routinely do it. It is possible though. The hover on the heading text in the spreadsheet explains how.

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 06:23):

Why would we close slices? That says no-one can send other data they want to send and if someone else needs it, you have to build a separate interface. General guidance is leave slicing open and ignore what you don't care about.

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:25):

I read the explanation using the '|' delimited fields, but it didn't work - I tried "property | false | closed", which seemed to be the pattern, but maybe that's not quite it - it didn't seem to parse anything past the first bar

view this post on Zulip Grahame Grieve (Aug 17 2018 at 06:26):

that's not supported in IG spreadsheets - that's what the code says

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 06:27):

It was supported at one point...

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:27):

I don't disagree generally with you, Lloyd - but the LIVD group has felt quite strongly that they have a very specific use case and they have been rather draconian (definitely too much so, in my opinion) about wanting to remove just about everything that they don't have an immediate use for (thinking they would add it back in later if it's ever needed in the LIVD context).

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 06:27):

In any case, why are you closing your slices?

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:28):

well that explains why it didn't work

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 06:28):

The problem with that is they're saying "anyone talking to LIVD must do so with a custom interface" - which is a foolish thing to do in a standard.

view this post on Zulip Lloyd McKenzie (Aug 17 2018 at 06:29):

Expect negative ballots :)

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:29):

they're looking at a specific limited use right now and only want to support that at the moment
I will prepare them for that :)

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:30):

maybe they will soften the stance a bit now

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:37):

actually closed slicing really shouldn't even be needed to do what they are wanting
the cardinalities should also work - with two required slices and max 2 set on the sliced element
although I'm noticing that the cardinality on that element (dependsOn) isn't being rendering at all in the differential and is showing incorrectly as 1..1 in the snapshot

view this post on Zulip Grahame Grieve (Aug 17 2018 at 06:40):

is that GF#17241 ?

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:42):

actually it's not showing up for either differential or snapshot (although I'm sure I did see it on snapshot at first)
and the cardinality renders fine for other non-sliced backbone elements

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:43):

yes, that is GF#17241

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:46):

also the binding shows up as required, but what's bound do doesn't show

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:46):

other than the fixed value, which is shown - but not the value set

view this post on Zulip Rob Hausam (Aug 17 2018 at 06:50):

the constrained out (0..0) elements also don't show that way and have incorrect cardinalities in the snapshot, but are correct in the differential


Last updated: Apr 12 2022 at 19:14 UTC