Friday, 1:30 in Rangos II.
Hundreds of managed care organizations (MCOs) generate yearly reports on standardized quality of care measures. These measures are specified by and audited under the supervision of the National Committee for Quality Assurance (NCQA). Auditing the measures has included reading the code used to process data. Acumetrics developed a software-testing tool that is being adopted by NCQA as a more rigorous way to audit software used to report such measures. We used Perl as the underlying support for a language appropriate for formalizing the NCQA measures and to generate test files and scoring protocols. This language is based on a control-flow approach (Beizer, 1995).
The statement:
path[member.enroll < &last(member.enroll + 45)] : do &makerec(enroll) --> node 20;
will instantiate the current enrollment to a date that meets the criterion
of being less than 45 days after the previous enrollment, and make a simulated
database record. The language (SAL) aided in two ways: First, most
of our coding for the NCQA measures themselves has been done by programmers
with much NCQA quality measure auditing experience, but limited programming
experience. Second, the rigorous examination of the NCQA standards
has
lead NCQA to further enhance the specifications for the majority
of the measures.
Perl's features made it a fine development language for SAL. Regular
expressions speed the development of a parser for SAL. Support for
references and complex structures was essential. Perl does searches
within complex networks to generate a varied set of individual test cases,
and varies these cases further by choosing different values for fields
along the same path. Perl's 'eval' function was also essential.
Here we review the SAL language as applied in this testing situation, and
report on the structure of the Perl parsing and test case generating system.
Next | Previous | Author list | Schedule | YAPC 19100