Microsoft Developer Network > Forums Home > HealthVault Forums > HealthVault Data Types > Data reconciliation between ccd and Healthvault types
Ask a questionAsk a question
 

AnswerData reconciliation between ccd and Healthvault types

  • Monday, July 20, 2009 6:02 PMalimnemonic Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi to all,

    I am able to import CCD objects in Healthvault. Some of the data types were automatically flagged and was "transfered" to the correct HV data types. For instance, problems, medications and procedures were correctly mapped. But some other wasn't, like family history (which, oddly enough, is a list of problems...)

    Is it because of semantic incompabilities or only that some types are supported and some aren't.

    Is there some documentation regarding this topic.

    Thank you.

Answers

  • Tuesday, July 21, 2009 5:38 PMMatt Wagner _MSFT_ Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    We are currently able to extract and transform the following CCD data types into HealthVault types:

    Payers
    Advance Directives
    Family History
    Medications
    Immunizations
    Vital Signs
    Lab Results
    Procedures
    Problems
    Encounters
    Allergies

    I'm not sure why you're family history isn't being imported.  You will need to post a snippet of the family history section so that we can take a look and see if there is a bug in our transform, or if there is something unique that is causing it not to be picked up.
    • Marked As Answer byalimnemonic Tuesday, July 21, 2009 5:41 PM
    •  

All Replies

  • Tuesday, July 21, 2009 4:13 PMEric GunnersonMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    My understanding is that we only support a subset of all types right now. I'll track down somebody to give you a better answer.

  • Tuesday, July 21, 2009 5:38 PMMatt Wagner _MSFT_ Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    We are currently able to extract and transform the following CCD data types into HealthVault types:

    Payers
    Advance Directives
    Family History
    Medications
    Immunizations
    Vital Signs
    Lab Results
    Procedures
    Problems
    Encounters
    Allergies

    I'm not sure why you're family history isn't being imported.  You will need to post a snippet of the family history section so that we can take a look and see if there is a bug in our transform, or if there is something unique that is causing it not to be picked up.
    • Marked As Answer byalimnemonic Tuesday, July 21, 2009 5:41 PM
    •  
  • Tuesday, July 21, 2009 5:51 PMalimnemonic Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Has Code
    Thank you guys, I'm impressed by your devotion
    We are currently not mapping our value to a coding system, so values for code are fictional. This might be the issue. Also we are not exporting the age at onset, nor the birthdate of the relative

    Here is the Family History section. Some info is omitted, but still (I think) follows the CCD standard:
    <section>
    	<templateId root="2.16.840.1.113883.10.20.1.4"/>
    	<code codeSystem="2.16.840.1.113883.6.1" code="10157-6"/>
    	<title>Family history</title>
    	<text>
    		<paragraph>Mother (Living)</paragraph>
    		<table border="1" width="100%">
    			<thead>
    				<tr>
    					<th>Diagnosis</th>
    				</tr>
    			</thead>
    			<tbody>
    				<tr>
    					<td>Asthma, unspec.</td>
    				</tr>
    			</tbody>
    		</table>
    		<paragraph>Father (Living)</paragraph>
    		<table border="1" width="100%">
    			<thead>
    				<tr>
    					<th>Diagnosis</th>
    				</tr>
    			</thead>
    			<tbody>
    				<tr>
    					<td>Hypertension.</td>
    				</tr>
    			</tbody>
    		</table>
    		<paragraph>Grandfather (Deceased)</paragraph>
    		<table border="1" width="100%">
    			<thead>
    				<tr>
    					<th>Diagnosis</th>
    				</tr>
    			</thead>
    			<tbody>
    				<tr>
    					<td>Colon Cancer</td>
    				</tr>
    			</tbody>
    		</table>
    	</text>
    	<entry typeCode="DRIV">
    		<organizer moodCode="EVN" classCode="CLUSTER">
    			<id root="2.16.840.1.113883.10.20.1.23"/>
    			<statusCode code="completed"/>
    			<subject>
    				<relatedSubject classCode="PRS">
    					<code codeSystem="2.16.840.1.113883.6.96" code="394857004"/>
    				</relatedSubject>
    			</subject>
    			<component>
    				<observation moodCode="EVN" classCode="OBS">
    					<templateId root="2.16.840.1.113883.10.20.1.22"/>
    					<id extension="100" root="2.16.840.1.113883.19.5"/>
    					<code codeSystem="2.16.840.1.113883.5.4" code="ASSERTION"/>
    					<statusCode code="completed"/>
    					<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CD" displayName="Asthma, unspec." codeSystem="2.16.840.1.113883.6.96" code="c47">
    						<originalText>Asthma, unspec.</originalText>
    					</value>
    				</observation>
    			</component>
    		</organizer>
    	</entry>
    	<entry typeCode="DRIV">
    		<organizer moodCode="EVN" classCode="CLUSTER">
    			<id root="2.16.840.1.113883.10.20.1.23"/>
    			<statusCode code="completed"/>
    			<subject>
    				<relatedSubject classCode="PRS">
    					<code codeSystem="2.16.840.1.113883.6.96" code="394857004"/>
    				</relatedSubject>
    			</subject>
    			<component>
    				<observation moodCode="EVN" classCode="OBS">
    					<templateId root="2.16.840.1.113883.10.20.1.22"/>
    					<id extension="101" root="2.16.840.1.113883.19.5"/>
    					<code codeSystem="2.16.840.1.113883.5.4" code="ASSERTION"/>
    					<statusCode code="completed"/>
    					<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CD"/>
    				</observation>
    			</component>
    		</organizer>
    	</entry>
    	<entry typeCode="DRIV">
    		<organizer moodCode="EVN" classCode="CLUSTER">
    			<id root="2.16.840.1.113883.10.20.1.23"/>
    			<statusCode code="completed"/>
    			<subject>
    				<relatedSubject classCode="PRS">
    					<code codeSystem="2.16.840.1.113883.6.96"/>
    				</relatedSubject>
    			</subject>
    			<component>
    				<observation moodCode="EVN" classCode="OBS">
    					<templateId root="2.16.840.1.113883.10.20.1.22"/>
    					<id extension="102" root="2.16.840.1.113883.19.5"/>
    					<code codeSystem="2.16.840.1.113883.5.4" code="ASSERTION"/>
    					<statusCode code="completed"/>
    					<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CD"/>
    				</observation>
    			</component>
    		</organizer>
    	</entry>
    </section>
    
  • Tuesday, July 21, 2009 7:07 PMMatt Wagner _MSFT_ Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Thanks for the sample - I'll take a look at this today and update you with my findings.

  • Tuesday, July 21, 2009 9:39 PMMatt Wagner _MSFT_ Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Proposed Answer
    I've located the problem.  For your family history organizer, you have the templateId specified using the <id> element, but our transforms are expecting this to be a <templateId> element per the CCD Implementaiton Guide (CONF-200):

    "CONF-200:  A family history organizer (templateId 2.16.840.1.113883.10.20.1.23) SHALL be represented with Organizer"

    For the family history to be picked up by HealthVault, you'll need to change this:

    <id root="2.16.840.1.113883.10.20.1.23"/>

    To be this:

    <
    templateId root="2.16.840.1.113883.10.20.1.23"/>

    Let me know if this does not solve your problem.

    -Matt W.
  • Wednesday, July 22, 2009 2:52 PMalimnemonic Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Has Code
    Hi Matt,

    Yes this was the reason. (And I'm quite ashamed of myself I must say...) Thanks again for your time.

    I did some test using the sample files for the CCD schema from HITSP C32. From what I see, you use the display Name for to map to the condition.  Is there going to be, in a near future, semantic integration between coding systems ie. By specifing SNOMED CT as a coding system and a given code, "correct" problem will be chosen. In this example, display name was MI, not Myocardial Infarction...

    Other issue, Hypertension was not picked up by Healthvault Add items feature. MI and Asthma was

    here is the CCD section from the HITSP sample:
    <section>
    					<templateId root="2.16.840.1.113883.10.20.1.4" assigningAuthorityName="CCD"/>
    					<templateId root="1.3.6.1.4.1.19376.1.5.3.1.3.14" assigningAuthorityName="IHE PCC"/>
    					<!-- Family history section template -->
    					<code code="10157-6" codeSystem="2.16.840.1.113883.6.1"/>
    					<title>Family history</title>
    					<text>
    						<paragraph>Father (deceased)</paragraph>
    						<table border="1" width="100%">
    							<thead>
    								<tr>
    									<th>Diagnosis</th>
    									<th>Age At Onset</th>
    								</tr>
    							</thead>
    							<tbody>
    								<tr>
    									<td>Myocardial Infarction (cause of death)</td>
    									<td>57</td>
    								</tr>
    								<tr>
    									<td>Hypertension</td>
    									<td>40</td>
    								</tr>
    							</tbody>
    						</table>
    						<paragraph>Mother (alive)</paragraph>
    						<table border="1" width="100%">
    							<thead>
    								<tr>
    									<th>Diagnosis</th>
    									<th>Age At Onset</th>
    								</tr>
    							</thead>
    							<tbody>
    								<tr>
    									<td>Asthma</td>
    									<td>30</td>
    								</tr>
    							</tbody>
    						</table>
    					</text>
    					<entry typeCode="DRIV">
    						<organizer moodCode="EVN" classCode="CLUSTER">
    							<templateId root="2.16.840.1.113883.3.88.11.83.18" assigningAuthorityName="HITSP C83"/>
    							<templateId root="2.16.840.1.113883.10.20.1.23" assigningAuthorityName="CCD"/>
    							<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.15" assigningAuthorityName="IHE PCC"/>
    							<!-- Family history organizer template -->
    							<statusCode code="completed"/>
    							<subject>
    								<relatedSubject classCode="PRS">
    									<code code="FTH" displayName="Father" codeSystemName="HL7 FamilyMember" codeSystem="2.16.840.1.113883.5.111">
    										<translation code="9947008" displayName="Biological father" codeSystemName="SNOMED" codeSystem="2.16.840.1.113883.6.96"/>
    									</code>
    									<addr/>
    									<telecom/>
    									<subject>
    										<name/>
    										<administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1" displayName="Male"/>
    										<birthTime value="1912"/>
    									</subject>
    								</relatedSubject>
    							</subject>
    							<component>
    								<observation classCode="OBS" moodCode="EVN">
    									<templateId root="2.16.840.1.113883.10.20.1.22"/>
    									<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13" assigningAuthorityName="IHE PCC"/>
    									<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13.3" assigningAuthorityName="IHE PCC"/>
    									<!-- Family history cause of death observation template -->
    									<id root="d42ebf70-5c89-11db-b0de-0800200c9a66"/>
    									<code displayName="Finding reported by subject" code="418799008" codeSystemName="SNOMED" codeSystem="2.16.840.1.113883.6.96"/>
    									<text>
    										<reference value="PtrToValueInsectionText"/>
    									</text>
    									<statusCode code="completed"/>
    									<effectiveTime nullFlavor="UNK"/>
    									<value xsi:type="CD" code="22298006" codeSystem="2.16.840.1.113883.6.96" displayName="MI"/>
    									<entryRelationship typeCode="CAUS">
    										<observation classCode="OBS" moodCode="EVN">
    											<id root="6898fae0-5c8a-11db-b0de-0800200c9a66"/>
    											<code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"/>
    											<statusCode code="completed"/>
    											<value xsi:type="CD" code="419099009" codeSystem="2.16.840.1.113883.6.96" displayName="Dead"/>
    										</observation>
    									</entryRelationship>
    									<entryRelationship typeCode="SUBJ" inversionInd="true">
    										<observation classCode="OBS" moodCode="EVN">
    											<templateId root="2.16.840.1.113883.10.20.1.38"/>
    											<!-- Age observation template -->
    											<code code="397659008" codeSystem="2.16.840.1.113883.6.96" displayName="Age"/>
    											<statusCode code="completed"/>
    											<value xsi:type="INT" value="57"/>
    										</observation>
    									</entryRelationship>
    								</observation>
    							</component>
    							<component>
    								<observation classCode="OBS" moodCode="EVN">
    									<templateId root="2.16.840.1.113883.10.20.1.22"/>
    									<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13" assigningAuthorityName="IHE PCC"/>
    									<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13.3" assigningAuthorityName="IHE PCC"/>
    									<!-- Family history observation template -->
    									<id root="5bfe3ec0-5c8b-11db-b0de-0800200c9a66"/>
    									<code displayName="Finding reported by subject" code="418799008" codeSystemName="SNOMED" codeSystem="2.16.840.1.113883.6.96"/>
    									<text>
    										<reference value="PtrToValueInsectionText"/>
    									</text>
    									<statusCode code="completed"/>
    									<effectiveTime value="19940615"/>
    									<value xsi:type="CD" code="59621000" codeSystem="2.16.840.1.113883.6.96" displayName="HTN"/>
    									<entryRelationship typeCode="SUBJ" inversionInd="true">
    										<observation classCode="OBS" moodCode="EVN">
    											<templateId root="2.16.840.1.113883.10.20.1.38"/>
    											<!-- Age observation template -->
    											<code code="397659008" codeSystem="2.16.840.1.113883.6.96" displayName="Age"/>
    											<statusCode code="completed"/>
    											<value xsi:type="INT" value="40"/>
    										</observation>
    									</entryRelationship>
    								</observation>
    							</component>
    						</organizer>
    					</entry>
    					<entry typeCode="DRIV">
    						<organizer moodCode="EVN" classCode="CLUSTER">
    							<templateId root="2.16.840.1.113883.3.88.11.83.18" assigningAuthorityName="HITSP C83"/>
    							<templateId root="2.16.840.1.113883.10.20.1.23" assigningAuthorityName="CCD"/>
    							<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.15" assigningAuthorityName="IHE PCC"/>
    							<!-- Family history organizer template -->
    							<statusCode code="completed"/>
    							<subject>
    								<relatedSubject classCode="PRS">
    									<code code="MTH" displayName="Mother" codeSystemName="HL7 FamilyMember" codeSystem="2.16.840.1.113883.5.111">
    										<translation code="65656005" displayName="Biological mother" codeSystemName="SNOMED" codeSystem="2.16.840.1.113883.6.96"/>
    									</code>
    									<addr/>
    									<telecom/>
    									<subject>
    										<name/>
    										<administrativeGenderCode code="F" codeSystem="2.16.840.1.113883.5.1" displayName="Female"/>
    										<birthTime value="1912"/>
    									</subject>
    								</relatedSubject>
    							</subject>
    							<component>
    								<observation classCode="OBS" moodCode="EVN">
    									<templateId root="2.16.840.1.113883.10.20.1.22"/>
    									<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13" assigningAuthorityName="IHE PCC"/>
    									<templateId root="1.3.6.1.4.1.19376.1.5.3.1.4.13.3" assigningAuthorityName="IHE PCC"/>
    									<!-- Family history observation template -->
    									<id root="a13c6160-5c8b-11db-b0de-0800200c9a66"/>
    									<code displayName="Finding reported by subject" code="418799008" codeSystemName="SNOMED" codeSystem="2.16.840.1.113883.6.96"/>
    									<text>
    										<reference value="PtrToValueInsectionText"/>
    									</text>
    									<statusCode code="completed"/>
    									<effectiveTime value="19420615">
    										<low value="19420615"/>
    									</effectiveTime>
    									<value xsi:type="CD" code="195967001" codeSystem="2.16.840.1.113883.6.96" displayName="Asthma"/>
    								</observation>
    							</component>
    						</organizer>
    					</entry>
    				</section>
    

  • Wednesday, July 22, 2009 6:54 PMMatt Wagner _MSFT_ Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Nothing to be ashamed of - CCD can be very difficult to get correct. :-)

    In the near future, we do not have plans for the type of code lookup that you described and will just use what is passed in the CCD.

    Regarding your question about HTN not being picked up - this looks like a bug on our side.  We are only importing a single condition per family member, however, there can definitely be multiple conditions per subject.  So in this example, the father's MI was picked up - because it was the first condition listed - but not his HTN.  Thanks for reporting this - we've logged this as bug.

    -Matt W.