cqframework / cqframework/cqf-tooling
AcceleratorKitProcessor - Decouple "Base Profile" and "Extension Needed"
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 22
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
The AcceleratorKitProcessor currently expects that the column used for specifying a base profile is also hijacked to indicate whether or not an extension is needed (expects that to be indicated by entering the value "Extension Needed"). In the case that an extension is needed, then the profile created for the data element just uses the corresponding base FHIR resource as it's baseDefinition. This means that we don't support extensions on profiles based on anything other than the base FHIR spec resources.
The notion of whether or not an extension is required for the mapping and what the base profile for the generated profile should be need to be decoupled. A "Extension Required|Needed" column should be added to the spreadsheets and the processor should be made aware of and read this column's value in. The logic in the current "extensionRequired" method should be adjusted to use the value from this new column rather than from the base profile column.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with AcceleratorKitProcessor and its current extensionRequired method, then inspect the spreadsheets that provide the base profile value. Trace how the new "Extension Required|Needed" column would be read independently from the base profile column. Done means extension handling uses the new column while generated profiles can retain a non-base-FHIR base profile.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100