Conversation
❌ Deployment FailedBranch: Deployment failed. Please check the build log for details. |
There was a problem hiding this comment.
Pull Request Overview
This PR updates the DAK logical models to enhance Program Indicator semantics and introduce grouped “Set” sources for Decision Support Logic and Program Indicators, then wires these into the top-level DAK model.
- Enriches ProgramIndicator with new fields and revises types/cardinalities.
- Introduces DecisionSupportLogicSet and ProgramIndicatorSet with grouping support and multi-canonical/instance cardinalities.
- Updates DAK.fsh to reference the new Set types.
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| input/fsh/models/ProgramIndicator.fsh | Expands the Program Indicator logical model, adds metadata, new fields, and changes types/cardinalities to refine indicator definitions. |
| input/fsh/models/DAKComponentSources.fsh | Replaces “Source” types with grouped “Set” types, allows multiple canonicals/instances, and adds group metadata. |
| input/fsh/models/DAK.fsh | Points DAK to the new Set logical models for decision logic and indicators. |
| Description: "Logical Model for representing Program Indicators from a DAK. Core set of indicators that need to be aggregated for decision-making, performance metrics and subnational and national reporting." | ||
|
|
||
| * ^status = #active | ||
| * ^version = 3.2 |
There was a problem hiding this comment.
^version must be a string in FHIR/FSH; without quotes SUSHI will error. Use a quoted string: * ^version = "3.2"
| * ^version = 3.2 | |
| * ^version = "3.2" |
| * annotations 0..1 markdown "Annotations" "Notes or Information" | ||
| * term 0..* BackboneElement "Term" "Defined terms used in the measure documentation" | ||
| * code 0..1 CodeableConcept "Term Code" "Code for which term is being defined" | ||
| * definition 0..1 "markdown" "definition" "Meaning of the term" No newline at end of file |
There was a problem hiding this comment.
Line 25 has invalid FSH syntax: the type must not be quoted, and the display label should not be repeated as a quoted type. Correct to: * definition 0..1 markdown "Definition" "Meaning of the term"
| * definition 0..1 "markdown" "definition" "Meaning of the term" | |
| * definition 0..1 markdown "Definition" "Meaning of the term" |
| * numeratorComputation 1..1 code "Numerator Computation" "The calculation or how to derive this numerator. Any specific data elements noted here should align directly with the individual-level Data Element label" | ||
| * denominator 0..1 markdown "Denominator" "Description of the denominator calculation" | ||
| * denominatorComputation 0..1 code "Denominator Computation" "The calculation or how to derive this denominator. Any specific data elements noted here should align directly with the individual-level Data Element label" | ||
| * disaggregation 1..1 code "Disaggregation" "Description of how the indicator should be disaggregated" |
There was a problem hiding this comment.
[nitpick] The descriptions for numerator/denominator 'Computation' and 'Disaggregation' imply narrative or structured content, but the type is code (a single code). Consider using markdown for free-text computation descriptions, or CodeableConcept bound to a ValueSet for controlled methods/dimensions. For example: change numeratorComputation/denominatorComputation to markdown, and disaggregation to CodeableConcept with an appropriate binding.
| * numeratorComputation 1..1 code "Numerator Computation" "The calculation or how to derive this numerator. Any specific data elements noted here should align directly with the individual-level Data Element label" | |
| * denominator 0..1 markdown "Denominator" "Description of the denominator calculation" | |
| * denominatorComputation 0..1 code "Denominator Computation" "The calculation or how to derive this denominator. Any specific data elements noted here should align directly with the individual-level Data Element label" | |
| * disaggregation 1..1 code "Disaggregation" "Description of how the indicator should be disaggregated" | |
| * numeratorComputation 1..1 markdown "Numerator Computation" "The calculation or how to derive this numerator. Any specific data elements noted here should align directly with the individual-level Data Element label" | |
| * denominator 0..1 markdown "Denominator" "Description of the denominator calculation" | |
| * denominatorComputation 0..1 markdown "Denominator Computation" "The calculation or how to derive this denominator. Any specific data elements noted here should align directly with the individual-level Data Element label" | |
| * disaggregation 1..1 CodeableConcept "Disaggregation" "Description of how the indicator should be disaggregated" |
| * denominator 0..1 markdown "Denominator" "Description of the denominator calculation" | ||
| * denominatorComputation 0..1 code "Denominator Computation" "The calculation or how to derive this denominator. Any specific data elements noted here should align directly with the individual-level Data Element label" | ||
| * disaggregation 1..1 code "Disaggregation" "Description of how the indicator should be disaggregated" | ||
| * rationale 0..1 markdown "Rationale" "Rationale for why this indicator exists" | ||
| * references 1..* id "References" "References to Health Intervention IDs providing additional context" |
There was a problem hiding this comment.
[nitpick] These are breaking schema changes compared to prior model (denominator made optional; disaggregation type changed from markdown to code; references made required). If backward compatibility is required, consider keeping prior cardinalities/types (e.g., denominator 1..1, disaggregation markdown, references 0..*), or explicitly treat this as a breaking release and update versioning/documentation accordingly.
| * denominator 0..1 markdown "Denominator" "Description of the denominator calculation" | |
| * denominatorComputation 0..1 code "Denominator Computation" "The calculation or how to derive this denominator. Any specific data elements noted here should align directly with the individual-level Data Element label" | |
| * disaggregation 1..1 code "Disaggregation" "Description of how the indicator should be disaggregated" | |
| * rationale 0..1 markdown "Rationale" "Rationale for why this indicator exists" | |
| * references 1..* id "References" "References to Health Intervention IDs providing additional context" | |
| * denominator 1..1 markdown "Denominator" "Description of the denominator calculation" | |
| * denominatorComputation 0..1 code "Denominator Computation" "The calculation or how to derive this denominator. Any specific data elements noted here should align directly with the individual-level Data Element label" | |
| * disaggregation 1..1 markdown "Disaggregation" "Description of how the indicator should be disaggregated" | |
| * rationale 0..1 markdown "Rationale" "Rationale for why this indicator exists" | |
| * references 0..* id "References" "References to Health Intervention IDs providing additional context" |
| * group 1..1 BackboneElement "Group" "Group" | ||
| * id 1..1 id "Id" "Group identifier" | ||
| * code 1..1 code "group code" "Meaning of the group" | ||
| * description 0..1 markdown "Description" "sumamry description" |
There was a problem hiding this comment.
Fix typo in the descriptions: change 'sumamry' to 'summary'.
| * description 0..1 markdown "Description" "sumamry description" | |
| * description 0..1 markdown "Description" "summary description" |
| * group 1..1 BackboneElement "Group" "Group" | ||
| * id 1..1 id "Id" "Group identifier" | ||
| * code 1..1 code "group code" "Meaning of the group" | ||
| * description 0..1 markdown "Description" "sumamry description" |
There was a problem hiding this comment.
Fix typo in the descriptions: change 'sumamry' to 'summary'.
| * code 1..1 code "group code" "Meaning of the group" | ||
| * description 0..1 markdown "Description" "sumamry description" | ||
| * url 0..1 url "URL" "URL to retrieve ProgramIndicator definitions from input/ or external source" | ||
| * canonical 0..* canonical "Canonical" "Canonical URI pointing to the ProgramIndicator definition" |
There was a problem hiding this comment.
The description is singular but the cardinality is 0..*; update to plural for clarity, e.g., 'Canonical URIs pointing to the ProgramIndicator definitions'.
| * canonical 0..* canonical "Canonical" "Canonical URI pointing to the ProgramIndicator definition" | |
| * canonical 0..* canonical "Canonical" "Canonical URIs pointing to the ProgramIndicator definitions" |
No description provided.