exploit hipaa_training(a)= preconditions: quality:a,current_emp=true; quality:a,hipaa_training_date<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit pol_proc_attest(a)= preconditions: quality:a,current_emp=true; quality:a,pol_proc_attestation<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit comp_officer(a)= preconditions: quality:a,hipaa_compliance_officer=false; postconditions: update quality:a,compliance_vios+=1; . exploit priv_officer(a)= preconditions: quality:a,hipaa_privacy_officer=false; postconditions: update quality:a,compliance_vios+=1; . exploit sec_officer(a)= preconditions: quality:a,hipaa_security_officer=false; postconditions: update quality:a,compliance_vios+=1; . exploit access_control(a)= preconditions: quality:a,current_emp=true; quality:a,has_pin=false; postconditions: update quality:a,compliance_vios+=1; . exploit mobile(a)= preconditions: quality:a,uses_mobile=true; quality:a,mobile_regs=false; postconditions: update quality:a,compliance_vios+=1; . exploit lock(a)= preconditions: quality:a,ephi_lock!=true; postconditions: update quality:a,compliance_vios+=1; . exploit inventory(a)= preconditions: quality:a,hw_inventory=false; postconditions: update quality:a,compliance_vios+=1; . exploit risk_asses(a)= preconditions: quality:a,sec_risk_assessment<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit priv_asses(a)= preconditions: quality:a,priv_stand_audit<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit hitech_asses(a)= preconditions: quality:a,hitech_audit<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit sec_asses(a)= preconditions: quality:a,sec_stand_audit<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit dev_asses(a)= preconditions: quality:a,asset_dev_audit<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit phys_assess(a)= preconditions: quality:a,phys_audit<=20210503; postconditions: update quality:a,compliance_vios+=1; . exploit breach(a)= preconditions: quality:a,breach_process=false; postconditions: update quality:a,compliance_vios+=1; . exploit report(a)= preconditions: quality:a,anon_reports!=true; postconditions: update quality:a,compliance_vios+=1; . exploit insecure_data(a)= preconditions: quality:a,encryption!=true; postconditions: update quality:a,compliance_vios+=1; . exploit expired_c(a)= preconditions: quality:a,cert_expir<=20220503; postconditions: update quality:a,expired_cert=true; . exploit insecure_db(a)= preconditions: quality:a,expired_cert=true; postconditions: update quality:a,compliance_vios+=1; . exploit new_emp(a,b)= preconditions: quality:a,can_add_emp=true; topology:a<->b,comp; postconditions: update quality:a,can_add_emp=false; update quality:a,hw_inventory=false; update quality:b,mobile_regs=false; . exploit rm_emp(a)= preconditions: quality:a,can_rm_emp=true; quality:a,hipaa_compliance_officer=true; postconditions: update quality:a,hipaa_compliance_officer=false; update quality:a,current_emp=false; . exploit phys_vio(a)= preconditions: quality:a,ephi_lock=false; postconditions: update quality:a,compliance_vios+=1; . exploit break_lock(a)= preconditions: quality:a,ephi_lock=true; postconditions: update quality:a,ephi_lock=false; . time group exploit time_emp_advance(a)= preconditions: quality:a,TIME_ADVANCE_STEP<13; quality:a,current_emp=true; postconditions: update quality:a,hipaa_training_date-=100; update quality:a,pol_proc_attestation-=100; . time group exploit time_comp_advance(a)= preconditions: quality:a,TIME_ADVANCE_STEP<13; quality:a,date=05032022; postconditions: update quality:a,hw_inventory=true; update quality:a,sec_risk_assessment-=100; update quality:a,priv_stand_audit-=100; update quality:a,hitech_audit-=100; update quality:a,sec_stand_audit-=100; update quality:a,asset_dev_audit-=100; update quality:a,phys_audit-=100; .