Background

The RadLex Playbook represents the effort of the Radiological Society of North America (RSNA) to formally standardize the terminology used for radiology procedures, which can improve workflow within healthcare organizations. Through this effort, the RSNA created unique numerical identifiers for each procedure known as RadLex Playbook Identifiers (RPIDs). These codes may contain information concerning modality, body region, contrast use, anatomic focus, laterality, reason for exam, technique, and view. Each procedure name has short and long forms as well as corresponding RPID number and letter codes. For example, RPID2 is linked to letter code CTABCA, which corresponds to short name “CT Abd Angio w/wo” and long name “CT Abdomen Angio w and wo IV Contrast” [1]. The RadLex Playbook is available in two versions: Core Playbook and Complete Playbook. Core Playbook contains over 1000 codes pertaining to a single large academic center. Complete Playbook contains over 4000 codes and represents a superset of the Core Playbook, though some of these codes are deprecated or discouraged. Subsequent updates to the RadLex Playbook have preferentially focused on Core Playbook with the RSNA recommending its use over Complete Playbook for new site implementations [1]. A similar but broader effort within healthcare has been carried out by the Regenstrief Institute, which developed Logical Observations, Identifiers, and Numerical Codes (LOINC). This standardized lexicon of tests in medicine contains a radiology section. To this end, the RSNA began a collaboration with Regenstrief Institute to integrate their separate efforts and create the definitive source for standardized radiology procedure names. This collaboration has culminated in the release of the LOINC-RSNA Radiology Playbook. While previous publications have analyzed RadLex and LOINC as distinct entities, the LOINC-RSNA Radiology Playbook has not yet been studied as a single source for radiology procedure names [2, 3]. The LOINC-RSNA Radiology Playbook csv file contains the standardized radiology procedure LOINC names with unique LOINC numbers as well as corresponding Core Playbook RPID codes, if available. Associated attributes that are specified for each procedure include modality, anatomic location, view, timing, maneuver, pharmaceutical, reason for exam, guide and subject [4]. Manually implementing this tool requires matching procedure names between large csv files with thousands of entries, which can be both time and labor intensive. LOINC has previously published RELMA, a software solution to assist in LOINC code mapping. However, RELMA does not adequately incorporate the LOINC-RSNA Playbook (e.g., RPID codes are not available in RELMA) [5]. Therefore, we aimed to create a custom software solution that would streamline implementation of the LOINC-RSNA Radiology Playbook.

Methods

This study was performed at an academic radiology department at a large tertiary care center in New York, NY. All currently performed diagnostic radiology procedures pertaining to adult abdomen and/or pelvis CT and MRI were selected for LOINC-RSNA Radiology Playbook implementation.

Using Python 2.7, a custom script utilizing FuzzyWuzzy was created to facilitate radiology procedure name matching. FuzzyWuzzy is an open-source fuzzy string matching algorithm created by SeatGeek, which uses the Levenshtein distance (also known as edit distance) to compare two strings. The edit distance is determined by the number of edits necessary to transform one string into the other string. The FuzzyWuzzy algorithm quantifies this difference by outputting a ratio between 0 and 1, with 1 indicating a perfect match. Additionally, a token sort function can be executed before calculating the edit distance, which achieves comparison of strings irrespective of word order. This is accomplished by breaking up strings into tokens that are then sorted in alphabetical order and rejoined before edit disease calculation [6, 7]. For our Python script, the LOINC-RSNA Radiology Playbook csv file version 2.56 as well as a csv file containing the local procedure names served as inputs (Fig. 1). The output was a new csv file detailing the fuzzy matching score (token sort ratio), LOINC name, LOINC number, and associated RPID code (if available) for each local procedure (Fig. 2). The script reads through the local exam name input csv file and catalogs these names in a list. When the user executes the script, it prompts the user to select the applicable modalities and body regions of interest from the standardized options in the LOINC-RSNA Radiology Playbook (Figs. 3 and 4) since this information improves the performance of RadMatch. The script then uses these selections to search through the input LOINC-RSNA Radiology Playbook to identify entries pertaining to these selections and saves them to a dictionary. Next, a for loop goes through each local exam name in the list and formats common synonyms by replacing them with the LOINC preferred terms using regular expressions (re module). Extraneous terms are also removed at this step (ex. “PROTOCOL”). Next, a for loop cycles through the dictionary containing LOINC-RSNA Radiology Playbook entries pertaining to the user’s selection of modality and body region of interest. At this point, the entire local exam list is run against each individual LOINC-RSNA Radiology Playbook procedure of interest using the FuzzyWuzzy string matching algorithm. Each fuzzy matching attempt is appended to a list along with the token sort ratio. For each local exam name, the list of possible matches is reverse sorted by token sort ratio. Then, the local exam name followed by the top five results (containing the token sort ratio, LOINC name, LOINC number, and RPID code) are appended to the output csv file. Each output csv file containing the match results was reviewed independently by two radiologists. For each local procedure, a match was assigned by each radiologist with a score (0 = no match, 0.5 = partial match, 1 = complete match with highest token sort ratio, 2 = complete match with second highest token sort ratio, 3 = complete match with third highest token sort ratio, 4 = complete match with fourth highest token sort ratio, 5 = complete match with fifth highest token sort ratio). For each procedure name, manual matching was constrained to the five choices generated by RadMatch. Procedures were matched with respect to exam type and contrast use. If a direct match was not available, then the procedure was matched to an appropriate parent procedure (such as those not specifying contrast use). Procedures were not matched to parent procedures that did not address differences in technique if these differences were explicitly stated in their names, with particular attention paid to post-contrast phases. Procedures with explicitly stated differences in the phases acquired were considered separate procedures requiring unique identifiers. If there was more than one appropriate match, the average of the scores was reported and used for statistical analysis. The matches were then compared. Statistical analysis was performed with Microsoft Excel version 15.11.2.

Fig. 1
figure 1

First prompt for user input after executing the Python script

Fig. 2
figure 2

Second prompt for user input

Fig. 3
figure 3

Third prompt for user input

Fig. 4
figure 4

Fourth and final prompt for user input, after which the script generates the output CSV file containing the match results

RadMatch Python 2.7 script:

figure aafigure aa

Results

29 CT and 24 MR local procedures pertaining to examination of the adult abdomen and/or pelvis were selected for LOINC-RSNA Radiology Playbook implementation (Tables 1 and 2). 4/29 (14%) CT and 3/24 (12.5%) MR local procedures yielded no match (score 0) in the LOINC-RSNA Radiology Playbook (Figs. 5 and 6). 0/29 (0%) CT and 3/24 (12.5%) MR local procedures had only a partial match (score 0.5). 25/29 (86%) CT and 18/24 (75%) MR local procedures had a complete match (scores 1–5). There was 100% agreement between the two radiologists.

Table 1 Select CT abdomen/pelvis local procedures with RadMatch results and radiologist match selection
Table 2 Select MR abdomen/pelvis local procedures with RadMatch results and radiologist match selection
Fig. 5
figure 5

Total percentage of matching local procedures for both CT and MRI

Fig. 6
figure 6

Score and associated percentage of matching local procedures for both CT and MRI (0 = no match, 0.5 = partial match, 1–5 = complete match with rank). No local procedure had a score of 5

Discussion

RadMatch successfully assisted radiologists in implementing the LOINC-RSNA Radiology Playbook for local CT and MR procedures pertaining to the abdomen and/or pelvis in adult patients. For CT procedures, a complete match was identified in 25/29 (86%) of cases. For MR procedures, a complete match was identified in 18/24 cases (75%) of cases. For those cases in which a complete match was not found, multiple causes were identified.

Deficiencies were present within the LOINC-RSNA Radiology Playbook, which hindered matching in some cases. For example, “CT angiography abdomen and pelvis with and without IV contrast” did not have a corresponding procedure name in LOINC-RSNA RSNA Radiology Playbook (“Abdominal and Pelvic vessels CT angiogram W and WO contrast IV” was not present). Further, there was no corresponding procedure in the LOINC-RSNA Radiology Playbook for “MR abdomen or pelvis venography without IV contrast.” Inconsistencies were also present within the LOINC-RSNA Radiology Playbook. For example, “Abdomen MRCP with and without contrast IV” breaks with the format of all other standardized names and should be listed as “Abdomen MRCP W AND WO CONTRAST IV.”

In some cases, the local procedure name was more specific than the corresponding procedure name in the LOINC-RSNA Radiology Playbook. For example, “CT chest and abdomen w and wo IV contrast—ao dissection” matched with “chest and abdomen CT wo and w contrast IV” since the LOINC-RSNA Radiology Playbook did not specify the indication of aortic dissection. In another example, “CT liver advanced and volume w and wo IV contrast” matched with “liver CT wo and w contrast IV” since there was no corresponding liver volume code in the LOINC-RSNA Radiology Playbook. Likewise, “MR abdomen without IV contrast—research” matched with “abdomen MR wo contrast” since LOINC-RSNA Radiology Playbook does not contain an applicable research code. In an extreme example, “MR abdomen with + without IV contrast + 3D liver recon + cut planes + seg volume” was too specific and RadMatch was unable to suggest an appropriate match secondary to inundation with extraneous terms. This limitation is one of many inherent to the use of a fuzzy string matching algorithm. These limitations include stringent requirements for explicit rules, difficulty handling unanticipated scenarios and issues with scalability. Applying RadChanges to other modalities or types of procedures (e.g., interventional) would require supplemental modifications to the script that account for preferred synonyms in the LOINC-RSNA Radiology Playbook. Furthermore, as more users adopt and contribute to this open-source software tool, these limitations could also be overcome in future versions by the inclusion of additional removal criteria in the script for anticipated extraneous terms that are not present in the LOINC-RSNA Radiology Playbook.

On the other hand, situations arose where the local procedure name was less specific than the corresponding standardized procedure name. These situations were evaluated on a case by case basis to determine if the appropriate match could be achieved by combining codes in the LOINC-RSNA Radiology Playbook. Along these lines, bundled local procedures required matching to multiple entries in the LOINC-RSNA Radiology Playbook. For example, local procedures pertaining to MRCP were bundled with MR abdomen procedures. Therefore, “MRCP + MR abdomen with + without IV contrast” matched with both “abdomen MR wo and w contrast IV” and “abdomen MRCP with and without contrast IV.” In the case of “MRCP and MR abdomen without IV contrast,” this bundling led to only a partial match with “abdomen MRCP wo contrast” based on the available choices generated by RadMatch. The same result also occurred with “MR angiography liver adv + vol with + without IV contrast,” which only partially matched with “abdominal vessels MR angiogram wo and w contrast IV.” RadMatch already demonstrated that it can identify appropriate complete matches for these local procedures when they are not bundled. Therefore, we recommend separating any combined local procedure names prior to utilizing RadMatch to improve the matching process.

Issues arose when the local procedure names were too generic compared with the LOINC-RSNA Radiology Playbook entries. RadMatch could not identify matching entries for local procedures pertaining to “CT or MR 3D post processing on a separate workstation” since the associated Playbook entries specify a body region of interest. Furthermore, local procedures without a specified body region (e.g., “CT body screening complete,” “CT limited” or “localized follow up—body”) did not yield an appropriate match and would require segregation and subsequent script execution using the “whole body” or “unspecified” body region options.

After implementing the LOINC-RSNA Radiology Playbook using RadMatch, it became apparent that performing standardization with LOINC numbers is preferred over RPID codes. All local procedures with complete matches had corresponding LOINC numbers that could be assigned to those local procedures. However, many procedures within the LOINC-RSNA Radiology Playbook do not have applicable RPID codes available for use. In our case, only 17 RPID codes were available for the 27 LOINC numbers corresponding to local CT procedures, indicating that 37% of these standardized procedures had no applicable RPID codes. Similarly, only 15 RPID codes were available for the 21 LOINC numbers corresponding to local MR procedures, indicating that 29% of these standardized procedures had no applicable RPID codes. These observations are not unexpected given the inclusion of Core Playbook (rather than Complete Playbook) in the LOINC-RSNA Radiology Playbook [2]. Given these findings, we recommend the use of LOINC numbers for implementation of LOINC-RSNA Radiology Playbook. Nonetheless, RadMatch provides users with both LOINC and RPID numerical codes. Future work should focus on implementing the LOINC-RSNA Radiology Playbook in other areas of radiology as well as interventional radiology. For example, ultrasound exams pertaining to the abdomen/pelvis or the subspecialty of chest imaging are prime considerations for future work. Our ultimate goal is to expand the scope of RadMatch to facilitate implementation of the entire LOINC-RSNA Radiology Playbook.

This initiative is a work in progress and has been made available as an open-source solution on GitHub [8]. The authors invite anyone with an interest to try the software and modify/update the source code as needed to improve the product.

Conclusion

RadMatch is a semi-automated open-source software tool that has successfully demonstrated its utility in assisting our radiology department with the implementation of the LOINC-RSNA Radiology Playbook.