FHIR Chat · Identity mappings · mapping-framework

Stream: mapping-framework

Topic: Identity mappings


view this post on Zulip Keith Boone (Mar 11 2020 at 00:33):

A while back I had proposed a simpler syntax to deal with identity transformations in the mapping language that would point out those things that hadn't changed. It read something like this:

group AuditEvent(source src : AuditEventR3, target tgt : AuditEvent) extends DomainResource <<type+>>
{
src as s -> tgt as t then Identity(s, t, [type, subtype, action, recorded, outcome, outcomeDesc, purposeOfEvent])
src.agent as s -> tgt.agent as t then AuditEventAgent(s, t);
src.source as s -> tgt.source as t then AuditEventSource(s, t);
src.entity as s -> tgt.entity as t then AuditEventEntity(s, t);
}
group AuditEventAgent(source src, target tgt) extends BackboneElement
{
src as s -> tgt as t then Identity(s, t, [role, altId, name, requestor, location, policy, mediat, network, purposeofUse]);
src.reference as vs0 -> tgt.who as vt0 then Reference(vs0, vt0);
src.userId as vs0 -> tgt.who as vt0 then Identifier2Reference(vs0, vt0);
}
group AuditEventSource(source src, target tgt) extends BackboneElement
{
src as s -> tgt as t then Identity(s, t, [site, type]);
src.identifier as vs0 -> tgt.observer as vt0 then Identifier2Reference(vs0, vt0);
}
group AuditEventEntity(source src, target tgt) extends BackboneElement
{ src as s -> tgt as t then Identity(s, t, [type, role, lifecycle, securityLabel, name, description, query]);
src.identifier as vs0 -> tgt.what as vt0 then Identifier2Reference(vs0, vt0);
src.reference as vs0 -> tgt.what as vt0 then Reference(vs0, vt0);
src.detail as s -> tgt.detail as t then AuditEventEntityDetail(s, t);
}
group AuditEventEntityDetail(source src, target tgt) extends BackboneElement
{
src.type -> tgt.type;
src.value as vs0 -> tgt.value = create('base64Binary') as vt0 then base64Binary(vs0, vt0);
}

@Ewout Kramer had another proposal, I'll leave it to him to clean up what was transferred from GForge to JIRA

What I most like about the syntax I proposed is that is says:
For AuditEvent, this set of fields in the third argument DIDN'T change between releases:
Identity(s, t, [type, subtype, action, recorded, outcome, outcomeDesc, purposeOfEvent])

The Identity function performs the following:
for each fieldname in the set of fields named in the third argument, copy it from s (the first argument) to t (the second argument).

It quickly tells you what stayed the same. Everything after it is what changed.

Anyhow, see https://jira.hl7.org/browse/FHIR-22710 for the transferred tracker.

view this post on Zulip Grahame Grieve (Mar 11 2020 at 00:42):

have you looked at the comments on that task?

view this post on Zulip Keith Boone (Mar 13 2020 at 17:32):

Yes, which is WHY I wrote something here. I even took my original proposal and cleaned up the mess that got made of it transferring to JIRA.

view this post on Zulip Keith Boone (May 01 2020 at 07:28):

And still this topic seems to have gone nowhere. I bring it up only because I'm now getting a weekly Jira reminder about it (still with incorrect dates last time I paid any attention to it).

view this post on Zulip Grahame Grieve (May 01 2020 at 10:23):

it's on my todo list but my todo list seems to gorw every week

view this post on Zulip Keith Boone (May 02 2020 at 11:09):

If it's on your todo list, can you move it to the next stage in Jira so it stops telling me it's waiting for my response ... I'm happy to hear it's on your list, even if you won't get to it until things cool down a lot more.

view this post on Zulip Jean Duteau (May 02 2020 at 14:47):

Actually Keith, I think you can move it along yourself. There is a "Provide Requested Info" button at the top that you can hit and just say to see the comments.


Last updated: Apr 12 2022 at 19:14 UTC