cqframework / cqframework/cqf-tooling
Add the ability to identify key elements in the ModelInfo
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 22
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
In addition to "mustSupport", FHIR Implementation Guides now include the concept of "Key Elements", which are defined here:
https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#sdviews
We should add to the ModelInfo a reflection of whether an element is a "Key Element"
We should also change the ModelInfo generation so that it drives off of StructureDefinition extensions for model info information, rather than pulling from a configuration:
ModelInfoSettings:
- ModelName (e.g. QICore)
- ModelUrl (e.g. http://hl7.org/fhir/us/qicore)
- PatientClassName (e.g. Patient)
- PatientBirthDatePropertyName (e.g. birthDate)
- TargetQualifier (e.g. qicore)
- TargetUrl (e.g. http://hl7.org/fhir)
And for each type, we need to be able to set:
- Retrievable (defaults to true for Classes, false for Types)
- Label (defaults to StructureDefinition.Title without Model Prefix if present)
- PrimaryCodePath
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 the ModelInfo and ModelInfoSettings generation paths, then read the linked FHIR Implementation Guide definition of Key Elements. Trace how model information currently comes from configuration and determine the affected StructureDefinition extensions and per-type values. Done means ModelInfo represents Key Elements and the listed model and type settings are derived from StructureDefinitions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100