diff --git a/README.md b/README.md index b1329e2..ccec25d 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,8 @@ OBFUSCATE_BELOW_10_MODE = "1" # The mode of obfuscating values below 10: 0 - ret DELTA_PATIENT = "1." # Sensitivity parameter for obfuscating the counts in the Patient stratifier, has no effect if OBFUSCATE = "no", default value: 1 DELTA_SPECIMEN = "20." # Sensitivity parameter for obfuscating the counts in the Specimen stratifier, has no effect if OBFUSCATE = "no", default value: 20 DELTA_DIAGNOSIS = "3." # Sensitivity parameter for obfuscating the counts in the Diagnosis stratifier, has no effect if OBFUSCATE = "no", default value: 3 +DELTA_PROCEDURES = "1.7" # Sensitivity parameter for obfuscating the counts in the Procedures stratifier, has no effect if OBFUSCATE = "no", default value: 1.7 +DELTA_MEDICATION_STATEMENTS = "2.1" # Sensitivity parameter for obfuscating the counts in the Medication Statements stratifier, has no effect if OBFUSCATE = "no", default value: 2.1 EPSILON = "0.1" # Privacy budget parameter for obfuscating the counts in the stratifiers, has no effect if OBFUSCATE = "no", default value: 0.1 ROUNDING_STEP = "10" # The granularity of the rounding of the obfuscated values, has no effect if OBFUSCATE = "no", default value: 10 QUERIES_TO_CACHE_FILE_PATH = "resources/bbmri" # The path to the file containing BASE64 encoded queries whose results are to be cached, if not set, no results are cached diff --git a/resources/measure_report_bbmri.json b/resources/measure_report_bbmri.json new file mode 100644 index 0000000..9d05bd2 --- /dev/null +++ b/resources/measure_report_bbmri.json @@ -0,0 +1 @@ +{"date": "2023-03-03T15:54:21.740195064Z", "extension": [{"url": "https://samply.github.io/blaze/fhir/StructureDefinition/eval-duration", "valueQuantity": {"code": "s", "system": "http://unitsofmeasure.org", "unit": "s", "value": 0.050495759}}], "group": [{"code": {"text": "patients"}, "population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 74}], "stratifier": [{"code": [{"text": "Gender"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 31}], "value": {"text": "female"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 43}], "value": {"text": "male"}}]}, {"code": [{"text": "Age"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 5}], "value": {"text": "40"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 4}], "value": {"text": "50"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 14}], "value": {"text": "60"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 4}], "value": {"text": "80"}}]}, {"code": [{"text": "Custodian"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 31}], "value": {"text": "bbmri-eric:ID:CZ_CUNI_PILS:collection:serum_plasma"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 43}], "value": {"text": "null"}}]}]}, {"code": {"text": "diagnosis"}, "population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 324}], "stratifier": [{"code": [{"text": "diagnosis"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 26}], "value": {"text": "C34.0"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 28}], "value": {"text": "C34.2"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 25}], "value": {"text": "C34.8"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 27}], "value": {"text": "C78.0"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 25}], "value": {"text": "D38.6"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 25}], "value": {"text": "R91"}}]}]}, {"code": {"text": "specimen"}, "population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 124}], "stratifier": [{"code": [{"text": "sample_kind"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 62}], "value": {"text": "blood-plasma"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 62}], "value": {"text": "blood-serum"}}]}]}], "measure": "urn:uuid:fe7e5bf7-d792-4368-b1d2-5798930db13e", "period": {"end": "2030", "start": "2000"}, "resourceType": "MeasureReport", "status": "complete", "type": "summary", "meta": {"lastUpdated": "2023-06-27T13:12:56.719Z", "versionId": "11"}, "id": "DCH47RNHPKH6TC3W"} \ No newline at end of file diff --git a/resources/measure_report_dktk.json b/resources/measure_report_dktk.json new file mode 100644 index 0000000..265ad98 --- /dev/null +++ b/resources/measure_report_dktk.json @@ -0,0 +1,5347 @@ +{ + "extension": [ + { + "url": "https://samply.github.io/blaze/fhir/StructureDefinition/eval-duration", + "valueQuantity": { + "value": 0.227357643, + "unit": "s", + "system": "http://unitsofmeasure.org", + "code": "s" + } + } + ], + "status": "complete", + "type": "summary", + "measure": "urn:uuid:d339032e-0d7e-4610-99e8-dad80bc2fca1", + "date": "2023-10-17T13:54:31.879752655Z", + "period": { + "start": "2000", + "end": "2030" + }, + "group": [ + { + "code": {"text": "patients"}, + "population": [ + { + "count": 4228, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ], + "stratifier": [ + { + "stratum": [ + { + "value": {"text": "male"}, + "population": [ + { + "count": 4228, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + } + ], + "code": [ + {"text": "Gender"} + ] + }, + { + "stratum": [ + { + "value": {"text": "lebend"}, + "population": [ + { + "count": 3460, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "verstorben"}, + "population": [ + { + "count": 768, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + } + ], + "code": [ + {"text": "75186-7"} + ] + }, + { + "stratum": [ + { + "value": {"text": "0"}, + "population": [ + { + "count": 20, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "10"}, + "population": [ + { + "count": 40, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "100"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "20"}, + "population": [ + { + "count": 89, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "30"}, + "population": [ + { + "count": 165, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "40"}, + "population": [ + { + "count": 227, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "50"}, + "population": [ + { + "count": 644, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "60"}, + "population": [ + { + "count": 1027, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "70"}, + "population": [ + { + "count": 1150, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "80"}, + "population": [ + { + "count": 769, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "90"}, + "population": [ + { + "count": 91, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + } + ], + "code": [ + {"text": "Age"} + ] + } + ] + }, + { + "code": {"text": "diagnosis"}, + "population": [ + { + "count": 4461, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ], + "stratifier": [ + { + "stratum": [ + { + "value": {"text": "C01"}, + "population": [ + { + "count": 25, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C02.0"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C02.1"}, + "population": [ + { + "count": 23, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C02.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C02.8"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C03.0"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C03.1"}, + "population": [ + { + "count": 20, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C04.0"}, + "population": [ + { + "count": 11, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C04.1"}, + "population": [ + { + "count": 9, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C04.8"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C04.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C05.0"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C05.1"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C05.2"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C06.0"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C06.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C06.8"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C06.9"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C07"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C08.0"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C08.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C09.0"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C09.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C09.8"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C09.9"}, + "population": [ + { + "count": 17, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C10.2"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C10.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C10.8"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C10.9"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C11"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C11.0"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C11.2"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C11.8"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C11.9"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C12"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C13"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C13.2"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C13.8"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C13.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C14.0"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.0"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.1"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.2"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.3"}, + "population": [ + { + "count": 11, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.4"}, + "population": [ + { + "count": 15, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.5"}, + "population": [ + { + "count": 49, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.8"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C15.9"}, + "population": [ + { + "count": 11, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C16.0"}, + "population": [ + { + "count": 38, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C16.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C16.2"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C16.3"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C16.8"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C16.9"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C17.0"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C17.1"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C17.2"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.0"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.1"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.2"}, + "population": [ + { + "count": 17, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.3"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.4"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.5"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.6"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.7"}, + "population": [ + { + "count": 32, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C18.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C19"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C20"}, + "population": [ + { + "count": 97, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C21.0"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C21.1"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C21.8"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C22.0"}, + "population": [ + { + "count": 39, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C22.1"}, + "population": [ + { + "count": 12, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C22.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C22.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C23"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C24.0"}, + "population": [ + { + "count": 18, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C24.1"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25.0"}, + "population": [ + { + "count": 26, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25.1"}, + "population": [ + { + "count": 14, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25.2"}, + "population": [ + { + "count": 18, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25.4"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25.7"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25.8"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C25.9"}, + "population": [ + { + "count": 18, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C26.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C30.0"}, + "population": [ + { + "count": 20, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C31"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C31.0"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C31.1"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C31.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C31.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C32.0"}, + "population": [ + { + "count": 30, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C32.1"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C32.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C32.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C32.8"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C34"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C34.0"}, + "population": [ + { + "count": 18, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C34.1"}, + "population": [ + { + "count": 144, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C34.2"}, + "population": [ + { + "count": 9, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C34.3"}, + "population": [ + { + "count": 71, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C34.8"}, + "population": [ + { + "count": 33, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C34.9"}, + "population": [ + { + "count": 35, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C37"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C38.1"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C38.3"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C38.4"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C40.0"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C40.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C40.2"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C40.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C41.0"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C41.2"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C41.3"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C41.4"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C43.2"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C43.3"}, + "population": [ + { + "count": 11, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C43.4"}, + "population": [ + { + "count": 18, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C43.5"}, + "population": [ + { + "count": 50, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C43.6"}, + "population": [ + { + "count": 30, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C43.7"}, + "population": [ + { + "count": 25, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C43.9"}, + "population": [ + { + "count": 11, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.0"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.1"}, + "population": [ + { + "count": 12, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.2"}, + "population": [ + { + "count": 37, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.3"}, + "population": [ + { + "count": 104, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.4"}, + "population": [ + { + "count": 44, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.5"}, + "population": [ + { + "count": 29, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.6"}, + "population": [ + { + "count": 28, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.7"}, + "population": [ + { + "count": 25, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C44.9"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C45.0"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C45.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C46.0"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C47.2"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C47.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C47.4"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C48.0"}, + "population": [ + { + "count": 14, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.0"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.1"}, + "population": [ + { + "count": 18, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.2"}, + "population": [ + { + "count": 40, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.3"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.4"}, + "population": [ + { + "count": 9, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.5"}, + "population": [ + { + "count": 12, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.6"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C49.9"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C50.0"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C50.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C50.4"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C50.8"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C60.1"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C60.8"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C60.9"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C61"}, + "population": [ + { + "count": 541, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C62.1"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C62.9"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C63.0"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C63.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C63.2"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C64"}, + "population": [ + { + "count": 54, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C65"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C66"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C67.0"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C67.2"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C67.8"}, + "population": [ + { + "count": 23, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C67.9"}, + "population": [ + { + "count": 25, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C68.0"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C68.9"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C69.0"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C69.3"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C69.4"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C69.5"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C70.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.0"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.1"}, + "population": [ + { + "count": 35, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.2"}, + "population": [ + { + "count": 46, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.3"}, + "population": [ + { + "count": 16, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.4"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.5"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.6"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.7"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.8"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C71.9"}, + "population": [ + { + "count": 23, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C72.0"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C72.8"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C73"}, + "population": [ + { + "count": 121, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C74.9"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C75.3"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C76.0"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C80.0"}, + "population": [ + { + "count": 55, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C81.0"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C81.1"}, + "population": [ + { + "count": 17, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C81.2"}, + "population": [ + { + "count": 9, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C81.4"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C81.9"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C82.0"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C82.1"}, + "population": [ + { + "count": 17, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C82.2"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C82.9"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C83.0"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C83.1"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C83.3"}, + "population": [ + { + "count": 86, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C83.5"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C83.7"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C84.0"}, + "population": [ + { + "count": 11, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C84.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C84.4"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C84.6"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C84.8"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C85.2"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C85.7"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C85.9"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C86.0"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C86.2"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C86.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C86.4"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C86.5"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C86.6"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C88.0"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C88.4"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C90.0"}, + "population": [ + { + "count": 107, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C91.0"}, + "population": [ + { + "count": 42, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C91.1"}, + "population": [ + { + "count": 15, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C91.5"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C91.6"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C91.7"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C91.8"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C92.0"}, + "population": [ + { + "count": 69, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C92.1"}, + "population": [ + { + "count": 9, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C92.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C92.4"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C92.5"}, + "population": [ + { + "count": 23, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C92.8"}, + "population": [ + { + "count": 29, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C93.0"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C93.1"}, + "population": [ + { + "count": 15, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C94.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C94.6"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C95.0"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C96.2"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C96.6"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C96.7"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "C96.8"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D00.0"}, + "population": [ + { + "count": 5, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D00.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D01.0"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D01.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D01.3"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D02.0"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D02.2"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D03.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D03.3"}, + "population": [ + { + "count": 10, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D03.4"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D03.5"}, + "population": [ + { + "count": 6, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D03.6"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D03.7"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D04.5"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D07.4"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D07.5"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D07.6"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D09.0"}, + "population": [ + { + "count": 24, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D09.1"}, + "population": [ + { + "count": 9, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D32.0"}, + "population": [ + { + "count": 20, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D32.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D33.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D33.2"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D33.3"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D33.4"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D35.2"}, + "population": [ + { + "count": 75, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D37.1"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D37.6"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D37.7"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D38.2"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D38.5"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D42.0"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D43.0"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D43.1"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D43.2"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D43.9"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D44.3"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D44.4"}, + "population": [ + { + "count": 1, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D45"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D46.2"}, + "population": [ + { + "count": 29, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D46.5"}, + "population": [ + { + "count": 20, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D46.6"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D46.9"}, + "population": [ + { + "count": 8, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D47.1"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D47.3"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D47.4"}, + "population": [ + { + "count": 25, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D48.0"}, + "population": [ + { + "count": 3, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D48.1"}, + "population": [ + { + "count": 7, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "D48.5"}, + "population": [ + { + "count": 2, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "null"}, + "population": [ + { + "count": 664, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + } + ], + "code": [ + {"text": "diagnosis"} + ] + } + ] + }, + { + "code": {"text": "specimen"}, + "population": [ + { + "count": 627, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ], + "stratifier": [ + { + "stratum": [ + { + "value": {"text": "blood-serum"}, + "population": [ + { + "count": 114, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "bone-marrow"}, + "population": [ + { + "count": 154, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "liquid-other"}, + "population": [ + { + "count": 154, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "tissue-other"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "whole-blood"}, + "population": [ + { + "count": 201, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + } + ], + "code": [ + {"text": "sample_kind"} + ] + } + ] + }, + { + "code": {"text": "procedures"}, + "population": [ + { + "count": 9377, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ], + "stratifier": [ + { + "stratum": [ + { + "value": {"text": "OP"}, + "population": [ + { + "count": 3770, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "ST"}, + "population": [ + { + "count": 5607, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + } + ], + "code": [ + {"text": "ProcedureType"} + ] + } + ] + }, + { + "code": {"text": "medicationStatements"}, + "population": [ + { + "count": 4236, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ], + "stratifier": [ + { + "stratum": [ + { + "value": {"text": "CH"}, + "population": [ + { + "count": 2840, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "HO"}, + "population": [ + { + "count": 75, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "IM"}, + "population": [ + { + "count": 517, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "KM"}, + "population": [ + { + "count": 496, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "SO"}, + "population": [ + { + "count": 274, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "WS"}, + "population": [ + { + "count": 17, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "ZS"}, + "population": [ + { + "count": 13, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + }, + { + "value": {"text": "null"}, + "population": [ + { + "count": 4, + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population" + } + ] + } + } + ] + } + ], + "code": [ + {"text": "MedicationType"} + ] + } + ] + } + ], + "resourceType": "MeasureReport" +} \ No newline at end of file diff --git a/src/config.rs b/src/config.rs index 85f7c58..94f9983 100644 --- a/src/config.rs +++ b/src/config.rs @@ -78,6 +78,14 @@ struct CliArgs { #[clap(long, env, value_parser, default_value = "3.")] delta_diagnosis: f64, + /// Sensitivity parameter for obfuscating the counts in the Procedure stratifier + #[clap(long, env, value_parser, default_value = "1.7")] + delta_procedures: f64, + + /// Sensitivity parameter for obfuscating the counts in the Medication Statements stratifier + #[clap(long, env, value_parser, default_value = "2.1")] + delta_medication_statements: f64, + /// Privacy budget parameter for obfuscating the counts in the stratifiers #[clap(long, env, value_parser, default_value = "0.1")] epsilon: f64, @@ -107,6 +115,8 @@ pub(crate) struct Config { pub delta_patient: f64, pub delta_specimen: f64, pub delta_diagnosis: f64, + pub delta_procedures: f64, + pub delta_medication_statements: f64, pub epsilon: f64, pub rounding_step: usize, pub queries_to_cache_file_path: Option, @@ -139,6 +149,8 @@ impl Config { delta_patient: cli_args.delta_patient, delta_specimen: cli_args.delta_specimen, delta_diagnosis: cli_args.delta_diagnosis, + delta_procedures: cli_args.delta_procedures, + delta_medication_statements: cli_args.delta_medication_statements, epsilon: cli_args.epsilon, rounding_step: cli_args.rounding_step, queries_to_cache_file_path: cli_args.queries_to_cache_file_path, diff --git a/src/main.rs b/src/main.rs index 3bf175c..d01e5c7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -287,6 +287,8 @@ async fn run_cql_query( CONFIG.delta_patient, CONFIG.delta_specimen, CONFIG.delta_diagnosis, + CONFIG.delta_procedures, + CONFIG.delta_medication_statements, CONFIG.epsilon, CONFIG.rounding_step, )?, diff --git a/src/util.rs b/src/util.rs index c41e343..326dd38 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,11 +1,11 @@ use crate::errors::FocusError; -use std::fs::File; -use std::io::{ self, BufRead, BufReader }; use laplace_rs::{get_from_cache_or_privatize, Bin, ObfCache, ObfuscateBelow10Mode}; use rand::thread_rng; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; use std::collections::HashMap; +use std::fs::File; +use std::io::{self, BufRead, BufReader}; use tracing::warn; #[derive(Debug, Deserialize, Serialize)] @@ -78,12 +78,8 @@ pub(crate) fn get_json_field(json_string: &str, field: &str) -> Result Result>, FocusError> { let file = File::open(filename.clone()).map_err(|e| { - FocusError::FileOpeningError(format!( - "Cannot open file {}: {} ", - filename, - e - )) - })?; + FocusError::FileOpeningError(format!("Cannot open file {}: {} ", filename, e)) + })?; Ok(io::BufReader::new(file).lines()) } @@ -138,6 +134,8 @@ pub fn obfuscate_counts_mr( delta_patient: f64, delta_specimen: f64, delta_diagnosis: f64, + delta_procedures: f64, + delta_medication_statements: f64, epsilon: f64, rounding_step: usize, ) -> Result { @@ -223,8 +221,56 @@ pub fn obfuscate_counts_mr( rounding_step, )?; } + "procedures" => { + obfuscate_counts_recursive( + &mut g.population, + MU, + delta_procedures, + epsilon, + 1, + obf_cache, + obfuscate_zero, + obf_10.clone(), + rounding_step, + )?; + obfuscate_counts_recursive( + &mut g.stratifier, + MU, + delta_procedures, + epsilon, + 2, + obf_cache, + obfuscate_zero, + obf_10.clone(), + rounding_step, + )?; + } + "medicationStatements" => { + obfuscate_counts_recursive( + &mut g.population, + MU, + delta_medication_statements, + epsilon, + 1, + obf_cache, + obfuscate_zero, + obf_10.clone(), + rounding_step, + )?; + obfuscate_counts_recursive( + &mut g.stratifier, + MU, + delta_medication_statements, + epsilon, + 2, + obf_cache, + obfuscate_zero, + obf_10.clone(), + rounding_step, + )?; + } _ => { - warn!("Focus is not aware of {} type of stratifier, hence it will not obfuscate the values.", &g.code.text[..]) + warn!("Focus is not aware of {} type of stratifier, therefore it will not obfuscate the values.", &g.code.text[..]) } } } @@ -309,11 +355,14 @@ mod test { use super::*; use serde_json::json; - const EXAMPLE_JSON: &str = r#"{"date": "2023-03-03T15:54:21.740195064Z", "extension": [{"url": "https://samply.github.io/blaze/fhir/StructureDefinition/eval-duration", "valueQuantity": {"code": "s", "system": "http://unitsofmeasure.org", "unit": "s", "value": 0.050495759}}], "group": [{"code": {"text": "patients"}, "population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 74}], "stratifier": [{"code": [{"text": "Gender"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 31}], "value": {"text": "female"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 43}], "value": {"text": "male"}}]}, {"code": [{"text": "Age"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 5}], "value": {"text": "40"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 4}], "value": {"text": "50"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 14}], "value": {"text": "60"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 4}], "value": {"text": "80"}}]}, {"code": [{"text": "Custodian"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 31}], "value": {"text": "bbmri-eric:ID:CZ_CUNI_PILS:collection:serum_plasma"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 43}], "value": {"text": "null"}}]}]}, {"code": {"text": "diagnosis"}, "population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 324}], "stratifier": [{"code": [{"text": "diagnosis"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 26}], "value": {"text": "C34.0"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 28}], "value": {"text": "C34.2"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 25}], "value": {"text": "C34.8"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 27}], "value": {"text": "C78.0"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 25}], "value": {"text": "D38.6"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 25}], "value": {"text": "R91"}}]}]}, {"code": {"text": "specimen"}, "population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 124}], "stratifier": [{"code": [{"text": "sample_kind"}], "stratum": [{"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 62}], "value": {"text": "blood-plasma"}}, {"population": [{"code": {"coding": [{"code": "initial-population", "system": "http://terminology.hl7.org/CodeSystem/measure-population"}]}, "count": 62}], "value": {"text": "blood-serum"}}]}]}], "measure": "urn:uuid:fe7e5bf7-d792-4368-b1d2-5798930db13e", "period": {"end": "2030", "start": "2000"}, "resourceType": "MeasureReport", "status": "complete", "type": "summary", "meta": {"lastUpdated": "2023-06-27T13:12:56.719Z", "versionId": "11"}, "id": "DCH47RNHPKH6TC3W"}"#; + const EXAMPLE_MEASURE_REPORT_BBMRI: &str = include_str!("../resources/measure_report_bbmri.json"); + const EXAMPLE_MEASURE_REPORT_DKTK: &str = include_str!("../resources/measure_report_dktk.json"); const DELTA_PATIENT: f64 = 1.; const DELTA_SPECIMEN: f64 = 20.; const DELTA_DIAGNOSIS: f64 = 3.; + const DELTA_PROCEDURES: f64 = 1.7; + const DELTA_MEDICATION_STATEMENTS: f64 = 2.1; const EPSILON: f64 = 0.1; const ROUNDING_STEP: usize = 10; @@ -426,7 +475,8 @@ mod test { assert_eq!(replace_cql(decoded_library), expected_result); let decoded_library = "EXLIQUID_STRAT_W_ALIQUOTS"; - let expected_result = "define InInitialPopulation: exists ExliquidSpecimenWithAliquot and \n\n"; + let expected_result = + "define InInitialPopulation: exists ExliquidSpecimenWithAliquot and \n\n"; assert_eq!(replace_cql(decoded_library), expected_result); let decoded_library = "INVALID_KEY"; @@ -435,18 +485,64 @@ mod test { } #[test] - fn test_obfuscate_counts() { + fn test_obfuscate_counts_bbmri() { + let mut obf_cache = ObfCache { + cache: HashMap::new(), + }; + let obfuscated_json = obfuscate_counts_mr( + EXAMPLE_MEASURE_REPORT_BBMRI, + &mut obf_cache, + false, + 1, + DELTA_PATIENT, + DELTA_SPECIMEN, + DELTA_DIAGNOSIS, + DELTA_PROCEDURES, + DELTA_MEDICATION_STATEMENTS, + EPSILON, + ROUNDING_STEP, + ) + .unwrap(); + + // Check that the obfuscated JSON can be parsed and has the same structure as the original JSON + let _: MeasureReport = serde_json::from_str(&obfuscated_json).unwrap(); + + // Check that the obfuscated JSON is different from the original JSON + assert_ne!(obfuscated_json, EXAMPLE_MEASURE_REPORT_BBMRI); + + // Check that obfuscating the same JSON twice with the same obfuscation cache gives the same result + let obfuscated_json_2 = obfuscate_counts_mr( + EXAMPLE_MEASURE_REPORT_BBMRI, + &mut obf_cache, + false, + 1, + DELTA_PATIENT, + DELTA_SPECIMEN, + DELTA_DIAGNOSIS, + DELTA_PROCEDURES, + DELTA_MEDICATION_STATEMENTS, + EPSILON, + ROUNDING_STEP, + ) + .unwrap(); + assert_eq!(obfuscated_json, obfuscated_json_2); + } + + #[test] + fn test_obfuscate_counts_dktk() { let mut obf_cache = ObfCache { cache: HashMap::new(), }; let obfuscated_json = obfuscate_counts_mr( - EXAMPLE_JSON, + EXAMPLE_MEASURE_REPORT_DKTK, &mut obf_cache, false, 1, DELTA_PATIENT, DELTA_SPECIMEN, DELTA_DIAGNOSIS, + DELTA_PROCEDURES, + DELTA_MEDICATION_STATEMENTS, EPSILON, ROUNDING_STEP, ) @@ -455,17 +551,26 @@ mod test { // Check that the obfuscated JSON can be parsed and has the same structure as the original JSON let _: MeasureReport = serde_json::from_str(&obfuscated_json).unwrap(); + dbg!(&obfuscated_json); + // Check that the obfuscated JSON is different from the original JSON - assert_ne!(obfuscated_json, EXAMPLE_JSON); + assert_ne!(obfuscated_json, EXAMPLE_MEASURE_REPORT_DKTK); // Check that obfuscating the same JSON twice with the same obfuscation cache gives the same result - let obfuscated_json_2 = obfuscate_counts_mr(EXAMPLE_JSON, &mut obf_cache, false, + let obfuscated_json_2 = obfuscate_counts_mr( + EXAMPLE_MEASURE_REPORT_DKTK, + &mut obf_cache, + false, 1, DELTA_PATIENT, DELTA_SPECIMEN, DELTA_DIAGNOSIS, + DELTA_PROCEDURES, + DELTA_MEDICATION_STATEMENTS, EPSILON, - ROUNDING_STEP,).unwrap(); + ROUNDING_STEP, + ) + .unwrap(); assert_eq!(obfuscated_json, obfuscated_json_2); } }