{scrollbar:icons=false}
h1. {page-info:title}
{panel:title=Contents of this Page}
{toc:minLevel=2}
{panel}

h2. Source Data, General Comments  
The ICD-9 data is provided in two text files.  One is diagnosis codes (also referred to as Volume 1 and Volume 2) the other is procedure codes (referred to as Volume 3).  Each file is formatted as a two column flat file.  Column one is the ICD-9 code. Column two is a definition.  The columns are separated by white space. Both files are loaded as a single LexGrid coding scheme.  Decision for this was based on the behavior of the UMLS load of ICD-9 UMLS data where diagnosis and procedures codes are loaded into a single coding scheme.

h2. Source Data, Source
The ICD-9 data for this loader came from Centers for Medicare & Medicaid Services (CMS, http://www.cms.gov/).  http://www.cms.hhs.gov/ICD9ProviderDiagnosticCodes/Downloads/v26_icd9.zip

Source Data, Example:
* 0010  CHOLERA D/T VIB CHOLERAE
* 0011  CHOLERA D/T VIB EL TOR
* 0019  CHOLERA NOS

h2. Source Data, Code Format
The ICD concpet code in the source data files does not contain a decimal point.  The loader will add a decimal point to the concpet codes following these rules:

For diagnosis codes, the number part of the code will always be 3 digits with zero or one or two decimal digits.  For procedure codes the numeric part of the code will be 2 digits with zero, one or two digits following the decimal point. Using the example diagnosis data above, 0010 will be read by the loader and 001.0 will be stored in the database.

h2. Mappings

h3. Coding Scheme data
No descriptive information about the data is included in the source.  Default values are provided by the loader. The user must provided a version value to the loader which  will be used as the coding scheme version.

*Table: codingScheme*
|| Field Name || Value ||
| codingSchemeGuid | <generated value> |
| codingSchemeName | ICD-9-CM |
| codingSchemeUri | urn:oid:2.16.840.1.113883.6.2 |
| representsVersion | <provided by user> |
| formalName | ICD-9 CM Volume 1,2, and 3 |
| defaultLanguage | ENG |
| approxNumConcepts | Null |
| description | International Classification of Diseases, Ninth Revision, Clinical Modification |
| copyRight | Donna Pickett;Contact for Diseases; National Center for Health Statistics;3311 Toledo Road;Hyattsville;MD;United States; 20782;1-800-232-4636;dfp4@cdc.gov;http://www.cdc.gov/nchs |
| isActive | Null |
| owner | Null |
| status | Null |
| effectiveDate | Null |
| releaseGuid | Null |
| codingSchemeSource | U.S. Department of Health and Human Services, Centers for Medicare &amp; Medicaid Services |
| entryStateGuid | Null |

Also the following attributes are supported by coding scheme:
*Table: supportedAttrib, tag: CodingScheme*
|| Field Name || Value ||
| csSuppAttribGuid | <generated> |
| codingSchemeGuid | <from codingScheme table> |
| supportedAttributeTag | CodingScheme |
| id | ICD-9-CM |
| uri | urn:oid:2.16.840.1.113883.6.2 |
| idValue | <blank> |
| associationNames | Null |
| rootCode | Null |
| isForwardNavigable | Null |
| isImported | 1 |
| equivalentCodingScheme | Null |
| assemblyRule | Null |
| assnCodingScheme | Null |
| assnNamespace | Null |
| assnEntityCode | Null |
| propertyType | Null |

The tables below continue to show default supported attributes for the coding scheme. Only fields with non-null values and non-generated values (such as Global Unique Identifiers or GUIDs) will be displayed.

*Table: supportedAttrib (abbreviated), tag: EntityType*
|| Field Name || Value ||
| supportedAttributeTag | EntityType |
| id | CONCEPT |
| idValue | CONCEPT |

*Table: supportedAttrib (abbreviated), tag: Language*
|| Field Name || Value ||
| supportedAttributeTag | Language |
| id | ENG |
| idValue | CONCEPT |


*Table: supportedAttrib (abbreviated), tag: Association*
|| Field Name || Value ||
| supportedAttributeTag | Association |
| id | hasSubType |
| idValue | hasSubType |


*Table: supportedAttrib (abbreviated), tag: Association*
|| Field Name || Value ||
| supportedAttributeTag | Association |
| id | isA |
| idValue | isA |


*Table: supportedAttrib (abbreviated), tag: EntityType*
|| Field Name || Value ||
| supportedAttributeTag | EntityType |
| id | ASSOCIATION |
| idValue | ASSOCIATION |


*Table: supportedAttrib (abbreviated), tag: Property*
|| Field Name || Value ||
| supportedAttributeTag | Property |
| id | definition |
| idValue | definition |
| propertyType | PRESENTATION |


h3. Entity
Each row in the source file represents a concept.  A LexGrid entityCode is the ICD concept code and entityName is the ICD definition.  An entity type of concept is also created in the entityType table. The following tables are updated for each ICD concept: entity, entityType.  Also, a property of type PRESENTATION is created for each concept so the property table is updated as well, where the property value is the ICD concept definition.

*Table: entity*
|| Field Name || Value ||
| entityGuid | <generated > |
| codingSchemeGuid | < from codingScheme table> |
| entityCode | E96.84 |
| entityCodeNamespace | urn:oid:2.16.840.1.113883.6.2 |
| isDefined | Null |
| isAnonymous | Null |
| description | ASSAULT-CRIMINAL NEGLECT |
| isActive | 1 |
| owner | Null |
| status | Null |
| effectiveDate | Null |
| expirationDate | Null |
| entryStateGuid | < generated - used with revisions > |
| forwardName | Null |
| reverseName | Null |
| isNavigable | Null |
| isTransitive | Null |


*Table: entityType*
|| Field Name || Value ||
| entityGuid | < from entity table> |
| entityType | CONCEPT |


*Table: property*
|| Field Name || Value ||
| propertyGuid | <generated > |
| referenceGuid | < guid from entity table > |
| referenceType | entity |
| propertyId | definition |
| propertyType | presentation |
| propertyName | definition |
| language | ENG |
| format | Null |
| isPreferred | 1 |
| matchIfNoContext | 0 |
| degreeOfFidelity | < blank > |
| representationalForm | Null |
| propertyValue | ASSAULT-CRIMINAL NEGLECT |
| isActive | Null |
| owner | Null |
| status | Null |
| effectiveDate | Null |
| expirationDate | Null |
| entryStateGuid | < generated > used if revision |


h3. Relations
A default relations container is created by the loader.

*Table: relation*
|| Field Name || Value ||
| relationGuid | <generated > |
| relationGuid | < from codingScheme table  > |
| containerName | icd9CmCmsVol1Vol2Vol3Relations |
| isMapping | 0 |
| representsVersion | Null |
| sourceCodingScheme | Null |
| sourceCodingSchemeVersion | Null |
| targetCodingScheme | urn:oid:2.16.840.1.113883.6.2 |
| targetCodingSchemeVersion | < provided by user > |
| description | ICD-9-CM CMS Vol 1, Vol 2 and Vol 3 relations container |
| isActive | Null |
| owner | Null |
| status | Null |
| effectiveDate | Null |
| expirationDate | Null |
| entryStateGuid | < generated > |

h3. Associations
There is no hierarchy present in the source files.  However, the loader does create a root concept, @, that all other concepts are associated with via the hasSubType and isA relationships. 

Two Associations are defined: hasSubType and isA.  For each type of association an entry will be made in the following tables: associationPredicate, entity, entityType. Only hasSubType is shown in the examples below.

Note: isA is also created as a reverse association for hasSubType. It was thought at the time the loader was written that a reverse assocation was required but that may not be the case.  The isA association may be removed in a later version of the loader.

*Table: associationPredicate*
|| Field Name || Value ||
| associationPredicateGuid | <generated> |
| relationGuid | <from relation table> |
| associationName | hasSubType |

*Table: entity*
|| Field Name || Value ||
| entityGuid | <generated > |
| codingSchemeGuid | < from codingScheme table  > |
| entityCode | hasSubType |
| entityCodeNamespace | urn:oid:2.16.840.1.113883.6.2 |
| isDefined | Null |
| isAnonymous | Null |
| description | the object has a sub-type relationship with another object |
| isActive | 1 |
| owner | Null |
| status | Null |
| effectiveDate | Null |
| expirationDate | Null |
| entryStateGuid | < generated > |
| forwardName | hasSubtype |
| reverseName | isA |
| isNavigable | 1 |
| isTransitive | 0 |

*Table: entityType*
|| Field Name || Value ||
| entityGuid | <from entity table> |
| entityType | ASSOCIATION |

h3. Concept to Concept Associations
These are the concepts with relationships to each other.  As mentioned earlier, there really are none in the ICD data.  But we create a default root concept for all the ICD  concepts to associate with. 

Each ICD concept will be associated with the root concept by the hasSubType association.

*Table: entityAssnsToEntity*
|| Field Name || Value ||
| entityAssnsGuid | <generated> |
| associationPredicateGuid | < from associationPredicate table > |
| sourceEntityCode | @ |
| sourceEntityCodeNamespace | urn:oid:2.16.840.1.113883.6.2 |
| targetEntityCode | 87.41 |
| targetEntityCodeNamespace | urn:oid:2.16.840.1.113883.6.2 |
| associationInstanceId | <generated> |
| isDefining | 1 |
| isInferred | Null |
| isActive | 1 |
| owner | Null |
| status | Null |
| effectiveDate | Null |
| expirationDate | Null |
| entryStateGuid | < generated - used with revisions > |
\\
{scrollbar:icons=false}