Medical::ICD10 - ICD10 Wrapper module
Version 0.05
The International Statistical Classification of Diseases and Related Health Problems 10th Revision (ICD-10) is a coding of diseases and signs, symptoms, abnormal findings, complaints, social circumstances and external causes of injury or diseases, as classified by the World Health Organization. (WHO). The code set allows more than 14,400 different codes and permits the tracking of many new diagnoses.
You can find more information about ICD10 at: http://www.who.int/classifications/icd/en/
The NHS provides the ICD10 codes as a flat tab separated file which can be obtained from the Connecting For Health Data Standars helpdesk at: http://www.connectingforhealth.nhs.uk/systemsandservices/data/clinicalcoding/codingstandards/icd-10/icd10_prod
This module is designed to parse that file and provide a wrapper around the ICD10 classification codes.
use Medical::ICD10; my $MICD = Medical::ICD10->new(); $MICD->parse( "/path/to/tsv/file/with/codes.txt" ); ## Get an individual term my $Term = $MICD->get_term( 'A809' ); my $description = $Term->description; # "Acute poliomyelitis, unspecified" ## Get the terms parent my $ParentTerm = $MICD->get_parent_term_string( 'A809' ); ## Get all the parents from the term my $ra_parent_terms = $MICD->get_parent_terms( 'A809' ); my $ra_parent_terms = $MICD->get_parent_terms_string( 'A803' ); ## Get all the children of the term my $ra_child_terms = $MICD->get_child_terms_string( 'A809' ); my $ra_child_terms = $MICD->get_child_terms( 'B27' );
Creates a new instance of the module.
my $MICD = Medical::ICD10->new();
Parses the flat file containing the ICD10 codes.
$MICD->parse( "/path/to/tsv/file/with/codes.txt" );
This method returns true on success and undef on failure.
my $Term = $MICD->get_term( 'A809' );
This method returns an Medical::ICD10::Term object and undef on error.
my $ra_all_terms = $MICD->get_all_terms;
Returns a reference to an array of Medical::ICD10::Term objects with all terms in the current file distribution.
This method returns undef on error.
my $rh_all_terms = $MICD->get_all_terms_hashref;
Returns a reference to a hash with all terms in the current file distribution. The keys of the hash are the ICD10 terms and the values are the textual descriptions.
my $ParentTerm = $MICD->get_parent_term( 'A809' );
or
my $ParentTerm = $MICD->get_parent_term( $Term );
Returns the immediate parent term of a given term as an Medical::ICD10::Term object. This method accepts both a scalar with the term name and a Medical::ICD10::Term object as input
my $ParentTerm = $MICD->get_parent_term_string( 'A809' );
my $ParentTerm = $MICD->get_parent_term_string( $Term );
Returns the immediate parent term of a given term as a scalar. This method accepts both a scalar with the term name and a Medical::ICD10::Term object as input.
my $ra_parent_terms = $MICD->get_parent_terms( 'A809' );
my $ra_parent_terms = $MICD->get_parent_terms( $Term );
Returns a reference to an array of Medical::ICD10::Term objects of all parent terms of a given term. This method accepts both a scalar with the term name and a Medical::ICD10::Term object as input.
my $ra_parent_terms = $MICD->get_parent_terms_string( 'A809' );
my $ra_parent_terms = $MICD->get_parent_terms_string( $Term );
Returns a reference to an array of scalars of all parent terms of a given term. This method accepts both a scalar with the term name and a Medical::ICD10::Term object as input.
my $ra_child_terms = $MICD->get_child_terms( 'A809' );
my $ra_child_terms = $MICD->get_child_terms( $Term );
Returns a reference to an array of Medical::ICD10::Term objects of all child terms of a given term. This method accepts both a scalar with the term name and a Medical::ICD10::Term object as input.
my $ra_child_terms = $MICD->get_child_terms_string( 'A809' );
my $ra_child_terms = $MICD->get_child_terms_string( $Term );
Returns a reference to an array of scalars of all child terms of a given term. This method accepts both a scalar with the term name and a Medical::ICD10::Term object as input.
Internal method used to format the output from different methods. Do not use this method directly.
Spiros Denaxas, <s.denaxas at gmail.com>
<s.denaxas at gmail.com>
Please report any bugs or feature requests to bug-medical-icd10 at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Medical-ICD10. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-medical-icd10 at rt.cpan.org
The source code can be found on github https://github.com/spiros/Medical-ICD10
You can find documentation for this module with the perldoc command.
perldoc Medical::ICD10
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Medical-ICD10
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Medical-ICD10
CPAN Ratings
http://cpanratings.perl.org/d/Medical-ICD10
Search CPAN
http://search.cpan.org/dist/Medical-ICD10/
Copyright 2011 Spiros Denaxas.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install Medical::ICD10, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Medical::ICD10
CPAN shell
perl -MCPAN -e shell install Medical::ICD10
For more information on module installation, please visit the detailed CPAN module installation guide.