Open dih-cdisc opened 1 week ago
GeographicScope and dates
Considerations:
Based on this I will propose an idea at the scrum today.
Based on the template, the protocol requires: Front page(s)
Current amendment
Paragraph 12.3 Prior Protocol Amendments
@dih-cdisc @czwickl @EMuhlbradt @ASL-rmarshall See points to consider for amendments in the comment above. Below the suggested changes. Some points of discussion for scrum today:
Suggestions
Make impact a separate class, AmendmentImpact, with attributes
This will allow for the two substantial impacts but allow sponsors to add other impacts (substantial or non-substantial) if they wanted.
Rather than GeographicScope having a type of 'site' which just feels wrong, keep the existing SubjectEnrollment appliesTo to the StudySite class, feels like a more consistent approach (enrollment statistics apply to either a geographic scope, or a cohort or a site and only one of them).
The site will thus need some geographic info. Site could be an Organization in its own right (type = StudySite) and thus an address or could explicitly state the site's geographic location using a AliasCode attribute (or point at GeographicScope)
For governance date the referring class provides the context for a date, we might want to consider 'Approval Date' and 'Effective Date' for the code list which then gives:
Thus, from an implementation perspective, from a Document class for example it is "give me my (the document's) effective date"
Might also be useful to nice to have an 'Issued Date' or something similar, for draft versions?
@EMuhlbradt @czwickl @dih-cdisc @ASL-rmarshall See below the updated StudyVersion/amendment part of the data model based on the discussions today. Note that the boolean attribute substantialimpact has been deleted from the studyAmendment class and has been replaced by a relationship called 'substantialImpacts to the new StudyAmendmentImpact class.
corrected small typo in substantialImpacts and pushed UML to Github
@BSnoeijerCD @EMuhlbradt @ASL-rmarshall @czwickl
Have a think about the name of the relationship from StudyAmendment to StudyAmendmentImpact labelled 'substantialImpacts'. The 'substantialness', if there is such a word, is. incorporated in the 'substantial' attribute of the Impact class. It was to allow a sponsor to add their own 'impacts' that they may not consider substantial in addition to the ones required by M11. Has the downside that you need to set the flag True for the M11 ones. Anyway, the relationship might be better named 'impacts' or something along those lines.
@BSnoeijerCD @EMuhlbradt @ASL-rmarshall @czwickl
Have a think about the name of the relationship from StudyAmendment to StudyAmendmentImpact labelled 'substantialImpacts'. The 'substantialness', if there is such a word, is. incorporated in the 'substantial' attribute of the Impact class. It was to allow a sponsor to add their own 'impacts' that they may not consider substantial in addition to the ones required by M11. Has the downside that you need to set the flag True for the M11 ones. Anyway, the relationship might be better named 'impacts' or something along those lines.
Good point. For background info, I just found a related protocol reference Article 10(a) of Directive 2001/20/EC of the European Parliament:
@BSnoeijerCD It's interesting that, according to that Article, it's the amendments that are substantial, not the impacts. If M11 is trying to implement that Article, the resultant M11 questions aren't quite accurate.
@dih-cdisc @czwickl @EMuhlbradt @ASL-rmarshall I made the updates as discussed during scrum today. This includes some cardinality changes. See diagram below:
@BSnoeijerCD @EMuhlbradt A couple of thoughts triggered by looking at the new country
relationship from StudySite
:
country
relationship from Address
- i.e., it goes to Code
and am I right to assume that the expectation is that the ISO 3166-1 alpha-3 codelist will be used?The code
relationship from GeographicScope
looks like it might perform a similar function when GeographicScope.type
= "Country" but, in this case, the relationship is to AliasCode
and the CT file says:
Point out to external dictionaries: Standard code is ISO-3166; Alias codes drawn from GENC, UN Region Codes, etc.
However, I don't think this will work because the code
relationship is also used to identify regions when the GeographicScope.type
= "Region" (hence the reference to "UN Region Codes"). In order to use AliasCode
, you must specify a standard codelist and always provide a standard code from that codelist - but the ISO-3166 codelist does not contain the type of region codes we need for geographic regions. I think we probably just need to change the comment in the CT file to say:
Point out to external dictionaries: Standard code is ISO-3166-1 alpha-3 for countries and UN Region Codes for regions; Alias codes drawn from GENC, etc.
We might then need a rule to ensure the correct standard coding for countries vs regions - but we'd need to define what's checkable for ISO 3166 vs UN Region codes (possibly just the codeSystem
).
@BSnoeijerCD Also:
StudyEnrollment
-- appliesTo
-> GeographicScope
should be 0..1, not 1..*. A study enrollment applies to either a (single) geographic scope, a (single) study site, or a (single) cohort. If you need to define enrollments for multiple geographic scopes, sites or cohorts, you'd just create additional instances of StudyEnrollment
, each with an appliesTo
relationship to a single target.StudyAmendment
-- enrollments
-> StudyEnrollment
should be 0..*, not 1..*. (It may have been defined as 1..* before because StudyEnrollment
"was" the geographic scope (via inheritance), and a geographic scope is required for every amendment).@BSnoeijerCD @EMuhlbradt A couple of thoughts triggered by looking at the new
country
relationship fromStudySite
:
- This relationship looks like it's intended to be defined in the same way as the
country
relationship fromAddress
- i.e., it goes toCode
and am I right to assume that the expectation is that the ISO 3166-1 alpha-3 codelist will be used?The
code
relationship fromGeographicScope
looks like it might perform a similar function whenGeographicScope.type
= "Country" but, in this case, the relationship is toAliasCode
and the CT file says:Point out to external dictionaries: Standard code is ISO-3166; Alias codes drawn from GENC, UN Region Codes, etc.
However, I don't think this will work because the
code
relationship is also used to identify regions when theGeographicScope.type
= "Region" (hence the reference to "UN Region Codes"). In order to useAliasCode
, you must specify a standard codelist and always provide a standard code from that codelist - but the ISO-3166 codelist does not contain the type of region codes we need for geographic regions. I think we probably just need to change the comment in the CT file to say:Point out to external dictionaries: Standard code is ISO-3166-1 alpha-3 for countries and UN Region Codes for regions; Alias codes drawn from GENC, etc.
We might then need a rule to ensure the correct standard coding for countries vs regions - but we'd need to define what's checkable for ISO 3166 vs UN Region codes (possibly just the
codeSystem
).- Is it OK to insist on only ISO 3166 codes for address and study site, but to allow other types of country coding for geographic scopes? Or should we allow country alias codes for address and study site too?
To make clear that we only want 1 geographic scope defined, we [robably used the aliasCode class instead of the code class to allow for different coding systems used for the same country/region code specification. But that has some implications indeed since (as we defined in the last sprint) there should be a standard coding class specified in the CT. I believe, given the above, to make it consistent we have 2 options : -> or we also define the standard code class in case a region is defined and then we change the country relationship in the Address and StudySite class to AliasCode so that there also alternative coding systems are allowed. -> or we leave it completely open for users what coding system they want to use - move the code relationship for geographic scope to the code class and allow more codes to be defined (e.g. relationship name changes to codes). However, to make it consistent that would imply that you should do the same for country in Address and StudySite. Making them plural changes the relationship name to countries which might be confusing since 1 address should only have 1 country (or maybe countryCodes would work? ). @dih-cdisc: what is your view?
Need to ensure that M11 protocol amendments can be supported. Three aspects