cdisc-org / DDF-RA

This is the repository for all code and documentation for the DDF-RA project.
MIT License
17 stars 1 forks source link

Interventions [Rules] #446

Open BSnoeijerCD opened 1 month ago

BSnoeijerCD commented 1 month ago

Formulation missing from intervention and alignment with IDMP. See feature ticket #316

See JIRA 520

BSnoeijerCD commented 4 weeks ago

@ASL-rmarshall and @dih-cdisc Can you review my suggestions below?

Updates of the V3 rules that are needed based on the changed attribute names:

Additional checks based on change to optional filling Administration frequency, route and dose

Additional checks based on new additions to the model:

I think the rest is all handled by the referential integrity and schema. Maybe we need to reconsider the required link to ingredient. Do we want to require an ingredient in case of placebo?

ASL-rmarshall commented 3 weeks ago

@BSnoeijerCD I agree with your suggestions above, with the following additional thoughts:

ASL-rmarshall commented 3 weeks ago

@BSnoeijerCD These are my thoughts for additional checks based on this modelling (without my suggested tweaks):

BSnoeijerCD commented 3 weeks ago

@dih-cdisc @ASL-rmarshall

I added the following rules based on the above:

Not added

To discuss with PO:

dih-cdisc commented 2 weeks ago

To discuss with PO:

  • not sure whether aliasCode is specifically intended to have CDISC code as the standard

No, they can be any code lists, generally CDISC, bit not always. An example is geographic/country codes from ISO. There was a note in the IG but updated to make it clearer

ASL-rmarshall commented 1 week ago

@dih-cdisc @BSnoeijerCD OK - rephrasing the question about the standard codelist for substanceCode (as it was) based on above responses and updated model:

It would probably also be a good idea to change "CDISC code" to something like "term from a standard codelist" in section 4.5 of the IG, which currently says:

Where a CDISC code is demanded by the model but flexibility is needed, users may include other terms (aliases) using the AliasCode class.

daveih commented 1 week ago

It would probably also be a good idea to change "CDISC code" to something like "term from a standard codelist" in section 4.5 of the IG, which currently says:

Where a CDISC code is demanded by the model but flexibility is needed, users may include other terms (aliases) using the AliasCode class.

See comment above "No, they can be any code lists, generally CDISC, bit not always. An example is geographic/country codes from ISO. There was a note in the IG but updated to make it clearer"

ASL-rmarshall commented 1 week ago

@dih-cdisc Apologies - missed that. But the question still remains. The updated IG says:

Where a standard code (typically a CDISC code but not always) is demanded by the model but flexibility is desirable / needed, users may include other terms (aliases) using the AliasCode class.

When coded, would each substance have a "standard code ... demanded by the model"? I haven't heard or found any mention of a standard codelist for substance that's demanded by the model, so I don't think we should be using AliasCode.

We already have an apparently equivalent relationship for StudyIntervention - in the CT spreadsheet, StudyIntervention.codes has an equivalent description and exactly the same text in the "Has Value List" column:

Y (Point out to multiple Biomedical coding dictionaries such as WHODrug, ATC, UNII, etc.)

The StudyIntervention.codes relationship is defined as a 0.. relationship with Code and, if the relationships are equivalent, I think we should define a Substance.codes 1 -> 0.. Code relationship in the same way, instead of Substance.code 1 -> 0..1 AliasCode.

dih-cdisc commented 6 days ago

@dih-cdisc Apologies - missed that. But the question still remains. The updated IG says:

Where a standard code (typically a CDISC code but not always) is demanded by the model but flexibility is desirable / needed, users may include other terms (aliases) using the AliasCode class.

When coded, would each substance have a "standard code ... demanded by the model"? I haven't heard or found any mention of a standard codelist for substance that's demanded by the model, so I don't think we should be using AliasCode.

We already have an apparently equivalent relationship for StudyIntervention - in the CT spreadsheet, StudyIntervention.codes has an equivalent description and exactly the same text in the "Has Value List" column:

Y (Point out to multiple Biomedical coding dictionaries such as WHODrug, ATC, UNII, etc.)

The StudyIntervention.codes relationship is defined as a 0.. relationship with Code and, if the relationships are equivalent, I think we should define a Substance.codes 1 -> 0.. Code relationship in the same way, instead of Substance.code 1 -> 0..1 AliasCode.

Agree, looks like a list of codes rather than an Alias with a single std code plus aliases

BSnoeijerCD commented 6 days ago

@dih-cdisc Apologies - missed that. But the question still remains. The updated IG says:

Where a standard code (typically a CDISC code but not always) is demanded by the model but flexibility is desirable / needed, users may include other terms (aliases) using the AliasCode class.

When coded, would each substance have a "standard code ... demanded by the model"? I haven't heard or found any mention of a standard codelist for substance that's demanded by the model, so I don't think we should be using AliasCode. We already have an apparently equivalent relationship for StudyIntervention - in the CT spreadsheet, StudyIntervention.codes has an equivalent description and exactly the same text in the "Has Value List" column:

Y (Point out to multiple Biomedical coding dictionaries such as WHODrug, ATC, UNII, etc.)

The StudyIntervention.codes relationship is defined as a 0.. relationship with Code and, if the relationships are equivalent, I think we should define a Substance.codes 1 -> 0.. Code relationship in the same way, instead of Substance.code 1 -> 0..1 AliasCode.

Agree, looks like a list of codes rather than an Alias with a single std code plus aliases

Ok. I will update it in the next push today.