diff --git a/input/fsh/artifact-profiles/group-definition.fsh b/input/fsh/artifact-profiles/group-definition.fsh index 7e2cbc7..710f415 100644 --- a/input/fsh/artifact-profiles/group-definition.fsh +++ b/input/fsh/artifact-profiles/group-definition.fsh @@ -31,6 +31,11 @@ Description: "Represents the definition of a group of subjects, suitable for use * code MS * name 1..1 MS * characteristic MS +* characteristic.value[x] MS +* characteristic.valueReference.extension contains + GroupCharacteristicValueCanonical named valueCanonical 0..1 MS +* characteristic.valueReference.extension[valueCanonical] ^short = "Instances that conform to the referenced profile" +* characteristic.valueReference.extension[valueCanonical] ^definition = "Instances that conform to the referenced profile are included (or excluded if characteristic.exclude is true) in the cohort." * member MS * entity MS * extension contains diff --git a/input/fsh/examples/group-cohort-definition-example.fsh b/input/fsh/examples/group-cohort-definition-example.fsh new file mode 100644 index 0000000..8308222 --- /dev/null +++ b/input/fsh/examples/group-cohort-definition-example.fsh @@ -0,0 +1,19 @@ +Instance: ExampleCohortDefinition +InstanceOf: CRMIGroupDefinition +Title: "Example Cohort Definition" +Description: "An example cohort definition using the GroupDefinition profile" +* type = #person +* actual = false +* name = "Adult Diabetes Patients" +* characteristic[+].code = http://snomed.info/sct#64572001 "Disease (disorder)" +* characteristic[=].code.text = "Patients with diabetes diagnosis" +* characteristic[=].valueCodeableConcept = http://snomed.info/sct#73211009 "Diabetes mellitus" +* characteristic[=].exclude = false +* characteristic[+].code = http://loinc.org#30525-0 "Age" +* characteristic[=].code.text = "Adults 18 years and older" +* characteristic[=].valueQuantity = 18 'a' "years" +* characteristic[=].exclude = false +* characteristic[+].code = http://loinc.org#4548-4 "Hemoglobin A1c/Hemoglobin.total in Blood" +* characteristic[=].code.text = "Patients with high HbA1c (>6%)" +* characteristic[=].valueReference.extension[valueCanonical].valueCanonical = "http://example.org/fhir/StructureDefinition/high-a1c-observation" +* characteristic[=].exclude = false diff --git a/input/fsh/extensions/group-characteristic-value-canonical-extension.fsh b/input/fsh/extensions/group-characteristic-value-canonical-extension.fsh new file mode 100644 index 0000000..a76a337 --- /dev/null +++ b/input/fsh/extensions/group-characteristic-value-canonical-extension.fsh @@ -0,0 +1,6 @@ +Extension: GroupCharacteristicValueCanonical +Id: crmi-group-characteristic-value-canonical +Title: "Group Characteristic Value Canonical Extension" +Description: "Extends Group.characteristic.valueReference to support canonical references to profiles, where instances that conform to the referenced profile are included in the group characteristic." +Context: Group.characteristic.valueReference +* value[x] only canonical diff --git a/oids.ini b/oids.ini index c9d9d40..ac3bcbb 100644 --- a/oids.ini +++ b/oids.ini @@ -135,6 +135,7 @@ crmi-endpointConfiguration = 2.16.840.1.113883.4.642.40.38.42.80 crmi-endpointconfigurationparameters = 2.16.840.1.113883.4.642.40.38.42.81 crmi-referenceSource = 2.16.840.1.113883.4.642.40.38.42.82 crmi-publishable-bundle = 2.16.840.1.113883.4.642.40.38.42.83 +crmi-group-characteristic-value-canonical = 2.16.840.1.113883.4.642.40.38.42.84 [OperationDefinition] crmi-approve = 2.16.840.1.113883.4.642.40.38.33.1 @@ -179,6 +180,9 @@ shareable-example = 2.16.840.1.113883.4.642.40.38.11.3 publishable-example = 2.16.840.1.113883.4.642.40.38.26.1 shareable-example = 2.16.840.1.113883.4.642.40.38.26.2 +[Group] +ExampleCohortDefinition = 2.16.840.1.113883.4.642.40.38.25.1 + [ImplementationGuide] publishable-example = 2.16.840.1.113883.4.642.40.38.27.1 shareable-example = 2.16.840.1.113883.4.642.40.38.27.2