{"action":"created","issue":{"url":"https://api.github.com/repos/tnavatar/clingen-data-model/issues/107","labels_url":"https://api.github.com/repos/tnavatar/clingen-data-model/issues/107/labels{/name}","comments_url":"https://api.github.com/repos/tnavatar/clingen-data-model/issues/107/comments","events_url":"https://api.github.com/repos/tnavatar/clingen-data-model/issues/107/events","html_url":"https://github.com/tnavatar/clingen-data-model/issues/107","id":72252038,"number":107,"title":"FHIR Provenance and W3C-PROV","user":{"login":"cbizon","id":10744350,"avatar_url":"https://avatars.githubusercontent.com/u/10744350?v=3","gravatar_id":"","url":"https://api.github.com/users/cbizon","html_url":"https://github.com/cbizon","followers_url":"https://api.github.com/users/cbizon/followers","following_url":"https://api.github.com/users/cbizon/following{/other_user}","gists_url":"https://api.github.com/users/cbizon/gists{/gist_id}","starred_url":"https://api.github.com/users/cbizon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbizon/subscriptions","organizations_url":"https://api.github.com/users/cbizon/orgs","repos_url":"https://api.github.com/users/cbizon/repos","events_url":"https://api.github.com/users/cbizon/events{/privacy}","received_events_url":"https://api.github.com/users/cbizon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tnavatar/clingen-data-model/labels/discussion","name":"discussion","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-30T18:58:13Z","updated_at":"2015-04-30T19:09:39Z","closed_at":null,"body":"On a recent call, I was complaining that I found FHIR Provenance to be less expressive than W3C-PROV.   This is to try to walk through some of that.  The best place to look is here:\r\n\r\nhttp://www.hl7.org/FHIR/provenance.html\r\n\r\nThe little blobby picture on that page is a representation of (part) of W3C-PROV, and the blue boxes are of course FHIR.  \r\n\r\nNote that on this page, there is a mappings tab, and in section 6.6.7.1, mappings to W3C PROV are discussed.  In that discussion is the statement: \"All the parts of the resource are formally mapped to the PROV-O specification, and FHIR resources can be transformed to their W3C PROV equivalent\".  However, in the following table, which is meant to be the mapping between FHIR and W3C, many of the FHIR elements do not have a mapping listed.   I interpret this as meaning that while FHIR wants its provenance elements to transform to W3C, they have not yet created a provenance where that is true.\r\n\r\nFurther, note that the mapping does not imply the opposite: That W3C PROV can be fully mapped into FHIR Provenance elements.  In fact, they can not be.   I have found, in the course of writing some PROV examples three cases that cannot (easily) be incorporated into FHIR:\r\n\r\n1) actedOnBehalfOf: this is a relationship between two agents.  In my SimpleAllele Provenance, I used this to say that an automated process ( usually modeled as an agent) acted on behalf of a person (another agent).  Note that in the FHIR resources, there is no attribute that connects multiple agents.\r\n\r\n2) wasStartedBy: This is a relationship between two activities.  One of the simple allele provenances was meant to model a simple allele that was created when a different simple allele was being canonicalized (like the way ClinVar creates many HGVS expressions from one).  Suppose that canonicalization (an activity) was kicked off by a bulk load (another activity).   W3C PROV represents this by an attribute connecting the two activities.   FHIR does not.   Part of the problem here, I think, is that FHIR smushes together the activity and a provenance resource, whereas W3C PROV keeps those separate, so that a particular provenance resource can naturally have more than one activity.\r\n\r\n3) wasInvalidatedBy: This is a relationship between an entity and an activity, and it sort of  like wasGeneratedBy, except it defines when the target entity was removed.   For instance, when we generate a new version of a canonical allele, we need to set the old one to be not valid any more. W3C PROV provides an attribute between an entity and an activity explicitly saying \"this activity closed that entity\".  I don't see that FHIR does this.  The mapping to W3C PROV does not include this activity, and the Provenance.target is identified with W3C PROV wasGeneratedBy.\r\n\r\nAlso, following on from #3, I do not see how to specify a type to the activity, which has been rolled into the Provenance resource.  It's not any of the attributes as far as I can tell.\r\n\r\nSorry for the long post, but I wanted to lay out the issues as clearly as I could.  There may be other issues as well, but these are the ones that I ran into when attempting to come up with PROV examples."},"comment":{"url":"https://api.github.com/repos/tnavatar/clingen-data-model/issues/comments/97930841","html_url":"https://github.com/tnavatar/clingen-data-model/issues/107#issuecomment-97930841","issue_url":"https://api.github.com/repos/tnavatar/clingen-data-model/issues/107","id":97930841,"user":{"login":"larrybabb","id":959003,"avatar_url":"https://avatars.githubusercontent.com/u/959003?v=3","gravatar_id":"","url":"https://api.github.com/users/larrybabb","html_url":"https://github.com/larrybabb","followers_url":"https://api.github.com/users/larrybabb/followers","following_url":"https://api.github.com/users/larrybabb/following{/other_user}","gists_url":"https://api.github.com/users/larrybabb/gists{/gist_id}","starred_url":"https://api.github.com/users/larrybabb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/larrybabb/subscriptions","organizations_url":"https://api.github.com/users/larrybabb/orgs","repos_url":"https://api.github.com/users/larrybabb/repos","events_url":"https://api.github.com/users/larrybabb/events{/privacy}","received_events_url":"https://api.github.com/users/larrybabb/received_events","type":"User","site_admin":false},"created_at":"2015-04-30T19:09:39Z","updated_at":"2015-04-30T19:09:39Z","body":"Great stuff, details are useful. I will put it on my list to convey this to the fhir folks. Unless you want to do it yourself. Let me know.\n\nSent from my iPhone\n\n> On Apr 30, 2015, at 2:58 PM, cbizon <notifications@github.com> wrote:\n> \n> On a recent call, I was complaining that I found FHIR Provenance to be less expressive than W3C-PROV. This is to try to walk through some of that.  The best place to look is here:\n> \n> http://www.hl7.org/FHIR/provenance.html\n> \n> The little blobby picture on that page is a representation of (part) of W3C-PROV, and the blue boxes are of course FHIR.\n> \n> Note that on this page, there is a mappings tab, and in section 6.6.7.1, mappings to W3C PROV are discussed. In that discussion is the statement: \"All the parts of the resource are formally mapped to the PROV-O specification, and FHIR resources can be transformed to their W3C PROV equivalent\". However, in the following table, which is meant to be the mapping between FHIR and W3C, many of the FHIR elements do not have a mapping listed. I interpret this as meaning that while FHIR wants its provenance elements to transform to W3C, they have not yet created a provenance where that is true.\n> \n> Further, note that the mapping does not imply the opposite: That W3C PROV can be fully mapped into FHIR Provenance elements. In fact, they can not be. I have found, in the course of writing some PROV examples three cases that cannot (easily) be incorporated into FHIR:\n> \n> 1) actedOnBehalfOf: this is a relationship between two agents. In my SimpleAllele Provenance, I used this to say that an automated process ( usually modeled as an agent) acted on behalf of a person (another agent). Note that in the FHIR resources, there is no attribute that connects multiple agents.\n> \n> 2) wasStartedBy: This is a relationship between two activities. One of the simple allele provenances was meant to model a simple allele that was created when a different simple allele was being canonicalized (like the way ClinVar creates many HGVS expressions from one). Suppose that canonicalization (an activity) was kicked off by a bulk load (another activity). W3C PROV represents this by an attribute connecting the two activities. FHIR does not. Part of the problem here, I think, is that FHIR smushes together the activity and a provenance resource, whereas W3C PROV keeps those separate, so that a particular provenance resource can naturally have more than one activity.\n> \n> 3) wasInvalidatedBy: This is a relationship between an entity and an activity, and it sort of like wasGeneratedBy, except it defines when the target entity was removed. For instance, when we generate a new version of a canonical allele, we need to set the old one to be not valid any more. W3C PROV provides an attribute between an entity and an activity explicitly saying \"this activity closed that entity\". I don't see that FHIR does this. The mapping to W3C PROV does not include this activity, and the Provenance.target is identified with W3C PROV wasGeneratedBy.\n> \n> Also, following on from #3, I do not see how to specify a type to the activity, which has been rolled into the Provenance resource. It's not any of the attributes as far as I can tell.\n> \n> Sorry for the long post, but I wanted to lay out the issues as clearly as I could. There may be other issues as well, but these are the ones that I ran into when attempting to come up with PROV examples.\n> \n> —\n> Reply to this email directly or view it on GitHub.\n> \n"}}