Hi Michael/Dan, The purpose of allowing 1-to-many mappings is that sites may not all use the same local i2b2 ontologies. It may then be necessary to map 1 SHRINE term to multiple local terms. In cases of differing hierarchies, this means SHRINE folder terms being mapped to local leaf nodes.
As Michael said, this is often more flexibility than is needed. That's certainly true with the ages example you provided. Those can mostly be managed as folder to folder mappings (though even for ages, on the Harvard network, sites have different hierarchies above age 65, so some folder to leaf node mappings remains necessary). Similarly for other data elements, it's not necessary to map SHRINE folder to leaf nodes unless there are variations in hierarchies used by local sites. We mostly adhere to this type of mapping in the demo ontology/mappings because it's the most flexible, but where hierarchies are consistent, there's no need to use folder to leaf mappings. Thanks, philip From: shrine-users-boun...@open.med.harvard.edu [mailto:shrine-users-boun...@open.med.harvard.edu] On Behalf Of Michael Horvath Sent: Tuesday, April 25, 2017 2:27 PM To: Dan Connolly; gpc-dev@listserv.kumc.edu; shrine-us...@open.med.harvard.edu Subject: Re: [Shrine-users] AdapterMappings: why 1-to-many? I think that's more about flexibility than necessity. You have the choice to add children beneath the Age folder in the target metadata schema, or you could point directly to a set of children through the adaptermappings file. The file is loaded and held in memory by the shrine application (through version 1.21.2 at least), so it may make sense to be judicious with the mappings when possible. From: shrine-users-boun...@open.med.harvard.edu [mailto:shrine-users-boun...@open.med.harvard.edu] On Behalf Of Dan Connolly Sent: Monday, April 24, 2017 2:54 PM To: gpc-dev@listserv.kumc.edu; shrine-us...@open.med.harvard.edu Subject: [Shrine-users] AdapterMappings: why 1-to-many? Why do some entries in `AdapterMappings.xml` have more than one value? For example: <entry> <key>\\SHRINE\i2b2\Demographics\Age\</key<file:///\\SHRINE\i2b2\Demographics\Age\%3c\key>> <value> <local_key>\\HIMC_DEMOGRAPHICS\i2b2\Demographics\Age\0-9<file:///\\HIMC_DEMOGRAPHICS\i2b2\Demographics\Age\0-9> years old\</local_key> <local_key>\\HIMC_DEMOGRAPHICS\i2b2\Demographics\Age\10-17<file:///\\HIMC_DEMOGRAPHICS\i2b2\Demographics\Age\10-17> years old\</local_key> <local_key>\\HIMC_DEMOGRAPHICS\i2b2\Demographics\Age\18-34<file:///\\HIMC_DEMOGRAPHICS\i2b2\Demographics\Age\18-34> years old\</local_key> Doesn't it suffice to map the Age folder to the Age folder? The only documentation I see is https://open.med.harvard.edu/wiki/display/SHRINE/Implementation ; is there more somewhere? Are these mappings loaded into a database table? Or are they read from a file at run-time? -- Dan
_______________________________________________ Gpc-dev mailing list Gpc-dev@listserv.kumc.edu http://listserv.kumc.edu/mailman/listinfo/gpc-dev