I’m looking into OCLOMRS-1000 where it is correctly noted that the current openconceptlab module doesn’t add a mapping to the source of a concept. For example, when I import a concept from my custom collection that I pulled from CIEL into OMRS, I end up with something like this:
Where we have mappings for many sources, but not a mapping to say that this is the SAME-AS the CIEL source it is from. This is because that mapping doesn’t exist in OCL, since this concept is taken directly form the CIEL source. This is clearly something that needs to be fixed and, fortunately, it should be easy to fix, since we have the information about what source this concept comes from in the information we get from OCL.
Once we get PIH’s dictionary is loaded into OCL, we will also need to ensure that PIH concepts have a SAME-AS PIH: mapping.
My question is: how far should we go with this? Should we create a SAME-AS mapping for the source the concept is derived from regardless of what source that is or should we limit this feature only to well-known sources, e.g., CIEL, PIH, MSF, etc. or should we provide some mechanism to allow the user to specify which sources they want to create SAME-AS mappings for?
Always creating a mapping to the source seems like a good idea, but we run into a namespacing issue. Specifically, in OCL, a source has it’s owner as part of its identity, e.g., the real CIEL source is the one that’s owned by the CIEL organisation in OCL. But, I can easily create a source under my user account that also has the name CIEL, which seems like an undesirable thing to allow.
Limiting this to well-known sources seems like a good compromise, but is obviously limiting implementers capabilities to add mappings for sources they care about but that are not widely used across the OMRS community.
The third option is clearly the most flexible. The only drawbacks I see are: 1) it creates yet another piece of metadata that needs to be managed and 2) to properly use this feature, it requires implementers to have both some understanding of how OCL structures data and how OMRS structures data to avoid falling back into the namespacing trap. (Concretely, the easiest way to do this would be to maintain a mapping between the OCL full source name, e.g.
/org/CIEL/sources/CIEL and the OMRS source name, e.g.
Does anyone have any opinions on the best way forward? Are there options I haven’t thought of here?