def test_does_claim_meet_additional_procedure_criteria(): """"Check that the eligibility option correctly filters by additional diagnosis codes.""" measure_code = MeasureCode({ 'code': 'code' }) additional_measure_code = MeasureCode({ 'code': 'additional_code' }) option = EligibilityOption({ 'procedureCodes': [measure_code], 'additionalProcedureCodes': [additional_measure_code] }) claim_measure_code_only = claim.Claim({ 'claim_lines': [claim_line.ClaimLine({'clm_line_hcpcs_cd': 'code'})] }) claim_additional_code_only = claim.Claim({ 'claim_lines': [claim_line.ClaimLine({'clm_line_hcpcs_cd': 'additional_code'})] }) claim_both_codes = claim.Claim({ 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': 'code'}), claim_line.ClaimLine({'clm_line_hcpcs_cd': 'additional_code'})] }) assert option._does_claim_meet_additional_procedure_criteria(claim_additional_code_only) assert option._does_claim_meet_additional_procedure_criteria(claim_both_codes) assert not (option._does_claim_meet_additional_procedure_criteria(claim_measure_code_only))
def setup(self): claim_line_data = [ { 'clm_line_hcpcs_cd': 'code', 'mdfr_cds': ['GQ', 'GY'], 'clm_pos_code': '23', 'clm_line_num': 1 }, {'clm_line_hcpcs_cd': 'code', 'mdfr_cds': ['GQ'], 'clm_pos_code': '24'}, {'clm_line_hcpcs_cd': 'code', 'mdfr_cds': ['GY'], 'clm_pos_code': '25'}, {'clm_line_hcpcs_cd': 'code', 'mdfr_cds': [], 'clm_pos_code': None} ] self.claim_lines = [claim_line.ClaimLine(line) for line in claim_line_data] self.claim_line_GQ_GY_23 = self.claim_lines[0] self.claim_line_GQ_24 = self.claim_lines[1] self.claim_line_GY_25 = self.claim_lines[2] self.claim_line_no_modifier_no_pos = self.claim_lines[3] self.plain_measure_code = MeasureCode({'code': 'code'}) self.irrelevant_measure_code = MeasureCode({'code': 'bad_code'}) self.measure_code_pos_24 = MeasureCode( {'code': 'code', 'placesOfService': ['24']} ) self.measure_code_pos_26 = MeasureCode( {'code': 'code', 'placesOfService': ['26']} ) self.measure_code_exclude_pos_24 = MeasureCode( {'code': 'code', 'placesOfServiceExclusions': ['24']} ) self.measure_code_exclude_pos_26 = MeasureCode( {'code': 'code', 'placesOfServiceExclusions': ['26']} ) self.measure_code_exclude_GQ = MeasureCode( {'code': 'code', 'modifierExclusions': ['GQ']} ) self.measure_code_exclude_GT = MeasureCode( {'code': 'code', 'modifierExclusions': ['GT']} ) self.measure_code_include_GQ = MeasureCode( {'code': 'code', 'modifiers': ['GQ']} ) self.measure_code_include_GT = MeasureCode( {'code': 'code', 'modifiers': ['GT']} ) self.measure_code_both_modifier_x_and_modifiers = MeasureCode( {'code': 'code', 'modifiers': ['GY'], 'modifierExclusions': ['GT', 'GQ']} )
def setup(self): """Initialization of measure 155.""" self.measure = measure_mapping.get_measure_calculator('155') self.claim_meets_prefilter_and_filter = claim.Claim({ 'bene_sk': 'elderly_patient_id', 'clm_ptnt_birth_dt': date(1920, 1, 1), 'clm_from_dt': date(2017, 1, 1), 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': '1100F'}, {'mdfr_cds': []}), claim_line.ClaimLine({'clm_line_hcpcs_cd': '92541'}, ) ] }) self.claim_meets_prefilter_but_not_filter = claim.Claim({ 'bene_sk': 'elderly_patient_id', 'clm_ptnt_birth_dt': date(1920, 1, 1), 'clm_from_dt': date(2017, 1, 1), 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': '1100F'}, {'mdfr_cds': []}) ] }) self.claim_does_not_meet_prefilter_1 = claim.Claim({ 'bene_sk': 'elderly_patient_id', 'clm_ptnt_birth_dt': date(1920, 1, 1), 'clm_from_dt': date(2017, 1, 1), 'claim_lines': [ claim_line.ClaimLine( {'clm_line_hcpcs_cd': '1100F'}, {'mdfr_cds': ['1P']}, ), claim_line.ClaimLine({'clm_line_hcpcs_cd': '92541'}, ) ] }) self.claim_does_not_meet_prefilter_2 = claim.Claim({ 'bene_sk': 'elderly_patient_id', 'clm_ptnt_birth_dt': date(1920, 1, 1), 'clm_from_dt': date(2017, 1, 1), 'claim_lines': [claim_line.ClaimLine({'clm_line_hcpcs_cd': '92541'}, )] }) self.claims = [ self.claim_meets_prefilter_and_filter, self.claim_meets_prefilter_but_not_filter, self.claim_does_not_meet_prefilter_1, self.claim_does_not_meet_prefilter_2, ]
def setup(self): """Initialization of a Measure226 object and sample claims.""" self.measure = measure_mapping.get_measure_calculator('226') # Initialize claims for use in the tests. self.claim_0_1_performance_met = claim.Claim({ 'clm_from_dt': datetime.date(2018, 1, 1), 'clm_ptnt_birth_dt': datetime.date(2000, 1, 1), 'claim_lines': [ claim_line.ClaimLine({ 'clm_line_hcpcs_cd': '90791', 'mdfr_cds': [], }), claim_line.ClaimLine({ 'clm_line_hcpcs_cd': 'G9902', 'mdfr_cds': [], }), ] }) self.claim_2_eligible = claim.Claim({ 'clm_from_dt': datetime.date(2018, 1, 1), 'clm_ptnt_birth_dt': datetime.date(2000, 1, 1), 'claim_lines': [ claim_line.ClaimLine({ 'clm_line_hcpcs_cd': '90791', 'mdfr_cds': [], }), claim_line.ClaimLine({ 'clm_line_hcpcs_cd': 'G9902', 'mdfr_cds': [], }), claim_line.ClaimLine({ 'clm_line_hcpcs_cd': 'G9906', 'mdfr_cds': [], }), ] }) self.claim_irrelevant = claim.Claim({ 'clm_from_dt': datetime.date(2018, 1, 1), 'clm_ptnt_birth_dt': datetime.date(2000, 1, 1), 'claim_lines': [ claim_line.ClaimLine({ 'clm_line_hcpcs_cd': '90791', 'mdfr_cds': [], }), claim_line.ClaimLine({ 'clm_line_hcpcs_cd': '4004F', 'mdfr_cds': ['8P'], }), ] }) self.claims = [ self.claim_0_1_performance_met, self.claim_2_eligible, self.claim_irrelevant ]
def setup(self): """Initialisation of measure 46.""" self.measure = measure_mapping.get_measure_calculator('046') self.senior_patient_claim_performance_met = claim.Claim({ 'bene_sk': 'elderly_patient_id', 'clm_ptnt_birth_dt': date(1920, 1, 1), 'clm_from_dt': date(2017, 1, 1), 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': '1111F'}, {'mdfr_cds': []}), claim_line.ClaimLine({'clm_line_hcpcs_cd': '99344'}, ) ] }) self.senior_patient_claim_not_performance_met = claim.Claim({ 'bene_sk': 'elderly_patient_id', 'clm_ptnt_birth_dt': date(1920, 1, 1), 'clm_from_dt': date(2017, 1, 2), 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': '1111F'}, {'mdfr_cds': ['8P']}), claim_line.ClaimLine({'clm_line_hcpcs_cd': '99344'}, ) ] }) self.borderline_senior_patient_claim_performance_met = claim.Claim({ 'bene_sk': 'elderly_patient_id', 'clm_ptnt_birth_dt': date(1953, 1, 30), 'clm_from_dt': date(2017, 5, 20), 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': '1111F'}, {'mdfr_cds': []}), claim_line.ClaimLine({'clm_line_hcpcs_cd': '99344'}, ) ] }) self.middle_aged_patient_claim_performance_not_met = claim.Claim({ 'bene_sk': 'middle_aged_patient_id', 'clm_ptnt_birth_dt': date(1977, 1, 1), 'clm_from_dt': date(2017, 1, 1), 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': '1111F'}, {'mdfr_cds': ['8P']}), claim_line.ClaimLine({'clm_line_hcpcs_cd': '99344'}, ) ] }) self.too_young_patient_claim_no_strata = claim.Claim({ 'bene_sk': 'young_patient_id', 'clm_ptnt_birth_dt': date(2010, 1, 1), 'clm_from_dt': date(2017, 1, 1), 'claim_lines': [ claim_line.ClaimLine({'clm_line_hcpcs_cd': '1111F'}, {'mdfr_cds': []}), claim_line.ClaimLine({'clm_line_hcpcs_cd': '99344'}, ) ] }) self.claims = [ self.senior_patient_claim_performance_met, self.middle_aged_patient_claim_performance_not_met, self.too_young_patient_claim_no_strata ]
def test_str_method(): """Test that claim lines are represented in a readable format.""" line = claim_line.ClaimLine( {'clm_line_hcpcs_cd': 'code', 'mdfr_cds': ['GQ'], 'clm_pos_code': '24', 'clm_line_num': 1} ) assert line.__str__() == 'ClaimLine - line_number: 1'
def test_execute(): """ Test for execute method. Note that some patient process measures have multiple eligibility options. """ performance_options = [ PerformanceOption({ 'optionType': 'performanceMet', 'qualityCodes': [{ 'code': 'pn_code' }] }), PerformanceOption({ 'optionType': 'performanceNotMet', 'qualityCodes': [{ 'code': 'pn_x_code' }] }), PerformanceOption({ 'optionType': 'eligiblePopulationExclusion', 'qualityCodes': [{ 'code': 'pd_exl_code' }] }), PerformanceOption({ 'optionType': 'eligiblePopulationException', 'qualityCodes': [{ 'code': 'pd_exe_code' }] }) ] eligibility_options = [ EligibilityOption( {'procedureCodes': [MeasureCode({'code': 'enc_code'})]}), EligibilityOption( {'procedureCodes': [MeasureCode({'code': 'other_enc_code'})]}) ] measure = PatientProcessMeasure(measure_definition=MeasureDefinition( { 'eligibility_options': eligibility_options, 'performance_options': performance_options })) best_line = claim_line.ClaimLine({'clm_line_hcpcs_cd': 'pn_code'}) second_best_line = claim_line.ClaimLine( {'clm_line_hcpcs_cd': 'pd_exl_code'}) worst_claim_line = claim_line.ClaimLine({'clm_line_hcpcs_cd': 'pn_x_code'}) enc_line = claim_line.ClaimLine({'clm_line_hcpcs_cd': 'enc_code'}) exception_line = claim_line.ClaimLine({'clm_line_hcpcs_cd': 'pd_exe_code'}) other_enc_line = claim_line.ClaimLine( {'clm_line_hcpcs_cd': 'other_enc_code'}) claim_best_a = claim.Claim({ 'bene_sk': 'a', 'claim_lines': [second_best_line, enc_line] }) claim_worst_a = claim.Claim({ 'bene_sk': 'a', 'claim_lines': [worst_claim_line, enc_line] }) claim_best_b = claim.Claim({ 'bene_sk': 'b', 'claim_lines': [worst_claim_line, enc_line] }) claim_best_c = claim.Claim({ 'bene_sk': 'c', 'claim_lines': [best_line, enc_line] }) claim_worst_c = claim.Claim({ 'bene_sk': 'c', 'claim_lines': [second_best_line, enc_line] }) claim_best_d = claim.Claim({ 'bene_sk': 'd', 'claim_lines': [exception_line, enc_line] }) claim_irrelevant_e = claim.Claim({ 'bene_sk': 'e', 'claim_lines': [best_line] }) claim_best_f = claim.Claim({ 'bene_sk': 'f', 'claim_lines': [best_line, other_enc_line] }) claims = [ claim_best_a, claim_worst_a, claim_best_b, claim_best_c, claim_worst_c, claim_best_d, claim_irrelevant_e, claim_best_f ] output = measure.execute(claims) expected = { 'eligible_population_exclusion': 1, 'eligible_population_exception': 1, 'performance_met': 2, 'performance_not_met': 1, 'eligible_population': 5 } assert output == expected