660 likes | 801 Views
IHE Educational Workshop Keith W. Boone, Dictaphone Corporation Patient Care Coordination TC Co-chair. Cross Enterprise Sharing of Medical Summaries (XDS-MS). Presenter. Keith W. Boone Sr. Consulting Engineer, Dictaphone Corporation Co Chair, IHE Patient Care Coordination TC
E N D
IHE Educational Workshop Keith W. Boone, Dictaphone Corporation Patient Care Coordination TC Co-chair Cross Enterprise Sharing ofMedical Summaries (XDS-MS)
Presenter • Keith W. Boone • Sr. Consulting Engineer, Dictaphone Corporation • Co Chair, IHE Patient Care Coordination TC • Member, IHE IT Infrastructure Technical Committee • Editor, HL7 Care Record Summaries Implementation Guide • Member, HL7 Structured Documents TC • Keith.Boone@dictaphone.com
Outline XDS-MS Profile Transactions XDS NAV ATNA Quick Overviews HL7 CDA Release 2.0 HL7 Care Record Summary IHE Medical Summaries Content Profile
Cross-Enterprise Sharing of Medical Summaries (XDS-MS) Patient Examination or Discharge Discharge or Referral Document Created Referred Physician Notification EMR EMR Review ofMedical Summary Report Repository The Cross-Enterprise Sharing of Medical Summaries Integration Profile solves the problem of transferring summary patient information between providers in different clinical settings.
Transactions SMTP Patient Identity Source Patient Identity Feed [ITI-8] Document Registry Query Registry [ITI-16] Document Consumer Notification Receiver RegisterDocument Set[ITI-14] Provide&RegisterDocument Set[ITI-15] Document Repository Retrieve Document [ITI-17] DocumentSource Notification Sender SendNotification[ITI-25] Receive Notification [ITI-26] ReceiveAcknowledgement [ITI-28] Send Acknowledgement [ITI-27]
XDS Transactions • Sender • Provide and Register Document Set • Register Document Set • Receiver • Query Registry • Retrieve Document
XDS Provide and Register Document Set • Must include a Medical Summary • May include other clinical documents • Log the export (see ATNA and ITI-20)
NAV Send Notification Create MIME multipart/mixed message • Text instructions • Notification attachment
multipart/mixed Message From: pseudouser@bogus.site Sender: pseudouser@bogus.site Message-ID: <12345678-1234-5678-0ABC-DEF012345678@1.3.6.1.4.1.21367.2005.1.1> Subject: Notification of Document Availability MIME-Version: 1.0 Content-Type: multipart/mixed; boundary='boundary' --boundary Content-Type: text/plain; charset=us-ascii Instructions to the user as to the use of this e-mail message. To acknowledge receipt of this message, please click on the following link: mailto:pseudouser@bogus.site?subject=XDS%20Acknowlegement%3A%20signatureID&body=OK --boundary Content-Type: application/xml; charset=UTF-8 Content-Disposition: attachment; filename='IHEXDSNAV-UUID.xml' <Signature Id="signatureID" xmlns="http://www.w3.org/2000/09/xmldsig#"> … </Signature> --boundary--
Notification Attachment <Signature Id="signatureID" xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethodAlgorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments" /> <SignatureMethodAlgorithm="urn:ihe:iti:dsg:nosig" /> <Reference URI="#IHEManifest" Type="http://www.w3.org/2000/09/xmldsig#Manifest"> <DigestMethodAlgorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>base64DigestValue</DigestValue> </Reference> </SignedInfo> <SignatureValue>base64SignatureValue</SignatureValue> <Object> <SignatureProperties> <SignatureProperty Id="recommendedRegistry" target="signatureID" >http://registryServer/registryBaseURL</SignatureProperty> <SignatureProperty Id="sendAcknowledgementTo" target="signatureID" >pseudouser@bogus.site</SignatureProperty> </SignatureProperties> <Manifest Id="IHEManifest"> <!--this is document A, read it first--> <Reference URI=“urn:ihe:iti:xds:registry:xxxx-xxxx"> <DigestMethodAlgorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>base64DigestValue</DigestValue> </Reference> </Manifest> </Object> </Signature>
NAV Receive Notification • Receive e-mail message • Verify Attachment • Extract Document UUIDs
XDS Query Registry • Use GetDocument query to obtain document metadata SELECT doc.id FROM ExtrinsicObject doc WHERE doc.id IN (list of ids)
XDS Retrieve Document • Retrieve the Medical Summary • Most recent document whose document type is one of the following LOINC codes: • HTTP GET on the URI • Log the import (see ATNA and ITI-20)
ATNA Record Audit Event • Type of Log • BSD Syslog • Reliable Syslog • Format of Log Message • IHE Provisional Format • RFC-3881
BSD Syslog (RFC-3164) <(0-191)> Aug 30 09:00:00 aegeus Hello World! Priority – A value from 0 to 191 Timestamp – MMM DD hh:mm:ss Hostname – First part of DNS name, or IP address. The rest is the message, and should conform to one of the two logging options.
ATNA Log Format(RFC-3881) • See the RFC • http://www.faqs.org/rfcs/rfc3881.html
CDA Basics • Dates and Times • Identifiers • Codes • Names • Addresses • Phone Numbers • People • Organizations
Dates and Times <effectiveTimevalue='20050329224411+0500'/> <effectiveTime> <low value='20050329224411+0500'/> <high value='20050329224411+0500'/> </effectiveTime> HL7 Date Time Values: CCYYMMDDHHMMSS(Z|([+|-]HHMM)) Century Year Month Day Hour Minute Second Time Zone
Identifiers <idextension='12345678' root='1.3.6.4.1.4.1.2835'/> root – Identifies the namespace. extension – Provides the identifier. • Roots are typically ISO Object Identifiers, otherwise known as OIDs, but may also be a GUID. • An OID is an assigned value. Someone has to give you a root OID. Then you can make your own, or give OIDs to others. • If your root OID is X, then you can assign X.1 through X.somereallybignumber to yourself or others.
Codes <codecode='59058001'displayName='General Physician' codeSystem='1.3.6.4.1.4.1.2835'codeSystemName='SNOMED CT' /> code – Provides the code value. displayName – A human readable name. codeSystem – Identify the coding system used. codeSystemName – As above, but for humans. • Not all coded values require the specification of codeSystem, especially when it is already known. • Values used for human readability are optional.
Names • Organizational Names <name>Good Health Clinic</name> • Personal Names <name> <prefix>Mr.</prefix> <given>Keith</given> <given>W.</given> <family>Boone</family> <suffix>Sr.</suffix> </name>
Addresses <addr> <streetAddressLine>21 North Ave</streetAddressLine> <streetAddressLine>Suite #142</streetAddressLine> <city>Burlington</city> <state>MA</state> <postalCode>01803</postalCode> <country>USA</country> </addr> • Repeat streetAddressLine if needed.
Phone Numbers <telecomvalue="tel:+1(999)555-1212"use="WP"/> value - The telephone number, as a URL use - One of a restricted set of values: HP - Home Phone HV - Vacation Home WP - Work Phone AS - Answering Service EC - Emergency Contact PG - Pager MC - Mobile
People <person> <name> <prefix>Mr.</prefix> <given>Keith</given> <given>W.</given> <family>Boone</family> <suffix>Sr.</suffix> </name> </person>
Organizations <organization> <idextension="1"root="1.3.6.4.1.4.1.2835.3"/> <name>Good Health Clinic</name> <telecomvalue="tel:(999)555 1212"use="WP"/> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city><state>MA</state> <postalCode>01803</postalCode> <country>USA</country> </addr> </organization>
Reading Schematron • Schema is a collection of patterns. • Patterns contain one or more rules with a context. • Rules assert that a test has passed. • Failures issue diagnostics • Now you can read the Schema
Sample Schema Rule Patterns contain one or more rules with a context. Rules assert that a test has passed. Failures issue diagnostics. Schema is a collection of patterns. <schema xmlns="http://www.ascc.net/xml/schematron"> <title>Sample Schematron schema</title><ns prefix="cda" uri="urn:hl7 org:v3" /> <pattern name='ClinicalDocument' see=‘Sample.htm#ClinicalDocument'> <p>This schema applies to CDA Release 2.0 documents.</p> <rule id='cda root' context='/*'> <assert diagnostics="CNF 1" test='self::cda:ClinicalDocument'> The root of a Care Record Summary must be a ClinicalDocument element from the <emph>urn:hl7 org v3</emph> namespace. </assert> </rule> </pattern> <diagnostics> <diagnostic id=‘CNF 1’> Ensure the appropriate namespace declaration exists. The root element must be ClinicalDocument. </diagnostic> </diagnostics> </schema>
An Example In this example, we will create a CDA Instance that provides the following information in a Care Record Summary • Ellen Ross is a 45 year old female who sprained her ankle by slipping on ice. She was treated in the ER and the next day goes to see Dr. Bernard Wiseman Sr., her PCP, who creates a referral for her to see Dr. Phil Green, an orthopedist. • In 1994, she and her husband filed a number of legal documents regarding their advanced directives for healthcare. Her father had a history of alcohol abuse and died of liver cancer. She quit smoking in 1996, and has 1-2 drinks per week. Her prior medical history is significant for cholecystitis which occurred during a difficult pregnancy. Her gall bladder was removed after delivery. She is presently on Indomethacin, and was given Tylenol #3 for the ankle sprain. She is allergic to Penicillin but similar drugs are OK. She had the usual run of pediatric immunizations. An X-Ray of her ankle was done in the ER.
Steps in Creating the CDA Instance Level 1 Level 2 Level 3 • Describe the Document • Describe the Participants • Patient Author(s) • Data Entry Personnel Informant(s) • Custodian Intended Recipient(s) • Authenticator(s) Legal Authenticator(s) • Other Participant(s) • Describe the event the document is about • Describe the encounter • Provide the Human Readable Content • Describe Problems, Medications and Allergies
Describe the Document <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:crs="urn:hl7-org:crs" > <realmCodecode="US" /> <typeIdextension="POCD_HD000040" root="2.16.840.1.113883.1.3" /> <templateIdextension="IMPL_CDAR2_LEVEL1 2REF_US_I2_2005SEP" root="2.16.840.1.113883.10" /> <idextension="999021" root="1.3.6.4.1.4.1.2835.2" /> <codecode="34133-9" codeSystem="2.16.840.1.113883.6.1“ codeSystemName="LOINC" displayName="SUMMARIZATION OF EPISODE NOTE" /> <title>Good Health Clinic Care Record Summary</title> <effectiveTimevalue="20050329224411+0500" /> <confidentialityCodecode="N" codeSystem="2.16.840.1.113883.5.25" /> <languageCodecode="en US" /> <setIdextension="999021" root="1.3.6.4.1.4.1.2835.1" /> <versionNumbervalue="1" />
Patient <recordTarget> <patientRole> <idextension="12345"root="2.16.840.1.113883.3.933"/> <addr> <streetAddressLine>17 Daws Rd.</streetAddressLine> <city>Blue Bell</city> <state>MA</state> <postalCode>02368</postalCode> <country>USA</country> </addr> <telecomvalue="tel:(781)555-1212"use="HP"/> <patient> <name> <prefix>Mrs.</prefix> <given>Ellen</given> <family>Ross</family> </name> <administrativeGenderCodecode="F" codeSystem="2.16.840.1.113883.5.1"/> <birthTimevalue="19600127"/> </patient> ⋮
Patient (cont.) ⋮ <providerOrganization> <idextension="M345"root="2.16.840.1.113883.3.933"/> <name>Good Health Clinic</name> <telecomvalue="tel:(999)555-1212"use="WP"/> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city> <state>MA</state> <postalCode>01803</postalCode> <country>USA</country> </addr> </providerOrganization> </patientRole> </recordTarget>
Authors <author> <timevalue="20050329224411+0500"/> <assignedAuthor> <idextension="1"root="1.3.6.4.1.4.1.2835.1"/> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city> <state>MA</state> <postalCode>01803</postalCode> <country>USA</country> </addr> <telecomvalue="tel:(999)555-1212"use="WP"/> <assignedPerson> OR <assignedAuthoringDevice> <name> <softwareName> <prefix>Dr.</prefix> Good Health Clinic System v1.0 <given>Bernard</given> </softwareName> <family>Wiseman</family> </assignedAuthoringDevice> <suffix>Sr.</suffix> </name> </assignedPerson> </assignedAuthor> </author>
Data Entry Personnel <dataEnterer> <timevalue="20050329222451+0500"/> <assignedEntity><idextension="2"root="1.3.6.4.1.4.1.2835.2"/> <assignedPerson> <name><prefix>Mrs.</prefix><given>Bernice</given><family>Wiseman</family></name></assignedPerson></assignedEntity></dataEnterer>
Informants <informant><relatedEntityclassCode="PRS"><codecode="MTH" codeSystem="2.16.840.1.113883.5.111"/><relatedPerson><name><prefix>Mrs.</prefix><given>Abigail</given><family>Ruth</family></name></relatedPerson></relatedEntity></informant>
Custodian <custodian> <assignedCustodian> <representedCustodianOrganization> <idextension="1"root="1.3.6.4.1.4.1.2835.3"/> <name>Good Health Clinic</name> <telecomvalue="tel:(999)555-1212"use="WP"/> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city><state>MA</state> <postalCode>01803</postalCode> <country>USA</country> </addr> </representedCustodianOrganization> </assignedCustodian> </custodian>
Information Recipient(s) <informationRecipient> <intendedRecipient> <idextension="4"root="1.3.6.4.1.4.1.2835.2"/> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city> <state>MA</state> <postalCode>01803</postalCode> <country>USA</country> </addr> <telecomvalue="tel:(999)555-1212"use="WP"/> <informationRecipient> <name> <prefix>Dr.</prefix> <given>Phil</given> <family>Green</family> </name> </informationRecipient> <receivedOrganization> <name>Good Health Clinic</name> </receivedOrganization> </intendedRecipient> </informationRecipient>
Authenticators <legalAuthenticator> OR <authenticator> <timevalue="20050329224512+0500"/> <signatureCodecode="S"/> <assignedEntity> <idextension="1"root="1.3.6.4.1.4.1.2835.1"/> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city> <state>MA</state> <postalCode>01803</postalCode> <country>USA</country> </addr> <telecomvalue="tel:(999)555-1212"use="WP"/> <assignedPerson> <name> <prefix>Dr.</prefix> <given>Bernard</given> <family>Wiseman</family> <suffix>Sr.</suffix> </name> </assignedPerson> </assignedEntity> </legalAuthenticator> OR </authenticator>
Participants CDA Extension <participanttypeCode="HLD"> <time><lowvalue="20050101"/><highvalue="20051231"/></time> <associatedEntityclassCode="POLHOLD"> <idextension="123456789"root="00000000-0000-0000-0000 000000000000"/><codecode="PHFAMDEP" codeSystem="2.16.840.1.113883.5.1095"/> <addr>I assume you’ve figured this out by now</addr> <telecomvalue="tel:(999)555-1212"use="WP"/> <associatedPerson> <name>This too</name> <crs:asPatientRelationship classCode='PRS'> <codecode='MTH'codeSystem='2.16.840.1.113883.5.111'/> </crs:asPatientRelationship> </associatedPerson> <scopingOrganization> <name>Good Health Insurance Company</name> <telecomvalue="tel:(203)555-1212"use="WP"/> <addr>And this</addr> </scopingOrganization> </associatedEntity> </participant>
The Service Event <documentationOf> <serviceEventclassCode="PCPR"> <effectiveTime> <lowvalue="19600127"/> <highvalue="20050329"/> </effectiveTime> <performertypeCode="PRF"> <functionCodecode="PCP"codeSystem="2.16.840.1.113883.5.88"/> <time> <lowvalue="1998"/> <highvalue="2005"/> </time> <assignedEntity> <idextension="1"root="1.3.6.4.1.4.1.2835.1"/> <codecode="59058001"codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED CT" displayName="General Physician"/> <addr></addr> <telecomvalue="tel:(999)555-1212"use="WP"/> <assignedPerson> <name></name> </assignedPerson> </assignedEntity> </performer> </serviceEvent> </documentationOf>
The Encounter <componentOf> <encompassingEncounter> <idextension="9937012"root="1.3.6.4.1.4.1.2835.12"/> <codecode="99213" codeSystem="2.16.840.1.113883.6.12" displayName="Evaluation and Managment" codeSystemName="CPT-4" /> <effectiveTime> <lowvalue="20050329"/> <highvalue="20050329"/> </effectiveTime> <dischargeDispositionCodecode="01" codeSystem="2.16.840.1.113883.6.21" displayName="Routine Discharge" codeSystemName="UB92" /> </encompassingEncounter> </componentOf>
Level 2 – Basic Content XHTML Tables • Paragraphs <paragraph>Ankle Sprain.</paragraph> • Lists <list><item>Cholecystectomy</item> <item>Cesarian Section</item> </list> • Tables <tableborder="1"> <thead> <tr> <th>Date</th><th>Height</th><th>Weight</th><th>Temperature</th> <th>BP</th><th>Pulse</th><th>Respiration</th><th>O2</th> </tr> </thead> <tbody> <tr><th>3/28/2005</th><th>5'9"</th><th>215 lbs.</th><th>98.7 °F</th> <th>120/80</th><th>68</th><th>16</th><th>99%</th> </tr> </tbody> </table>
Level 2– Section Structure <component> <section> <codecode="X-RFVCC" codeSystem="2.16.840.1.113883.6.1" /> <title>Reason for Visit/Chief Complaint</title> <text> OR <component> ⋮ </text> </component> </section> </component>
Level 2– Body Structure <structuredBody> <templateId extension="IMPL_CDAR2_LEVEL1-2REF_US_I2_2005SEP" root="2.16.840.1.113883.10" /> <component> ⋮ </component> ⋮ <structuredBody>
Level 2– Narrative Text <component> <section> <codecode="X-RFR" codeSystem="2.16.840.1.113883.6.1"/> <title>Reason for Referral</title> <text> <paragraph>Follow-up care for Ankle Sprain </paragraph> </text> </section> </component>
Level 2 – List <section> <codecode="10160-0" codeSystem="2.16.840.1.113883.6.1"/> <title>Medications</title> <text> <list> <item> Indomethacin, 50mg bid with food, 12/10/2003 - present</item> <item> Acetaminophen with codeine, #3 1-2 tablets for pain as needed, 03/28/2005</item> </list> </text> </section>
Level 2 – Tables <component> <section> <codecode="29274-8"codeSystem="2.16.840.1.113883.6.1"/> <title>Vital Signs</title> <text> <tableborder="1"> <thead> <tr> <th>Date</th><th>Height</th><th>Weight</th><th>Temperature</th> <th>BP</th><th>Pulse</th><th>Respiration</th><th>O2</th> </tr> </thead> <tbody> <tr> <th>3/28/2005</th><th>5'9"</th><th>215 lbs.</th><th>98.7 °F</th> <th>120/80</th><th>68</th><th>16</th><th>99%</th> </tr> </tbody> </table> </text> </section> </component>
Level 3 – Conditions <component xmlns="urn:hl7-org:v3"> <section> <codecode="11450-4" codeSystem="2.16.840.1.113883.6.1" /> <title>Conditions</title> <text> <table border="1"> <thead> <tr><th>Severity</th><th>Problem</th><th>Date</th> <th>Status</th><th>Comments</th> </tr> </thead> <tbody> <tr><td ID="severity-2">Severe</td> <td ID="problem-1">Ankle Sprain</td> <td>3/28/2005</td><td>Current</td> <td ID="comment-2">Slipped on ice and fell</td> </tr> </tbody> </table> </text> <!-- Entries [0..N] --> </section> </component>
Level 3 –Condition Entry <entry> <observation classCode="COND" moodCode="EVN"> <idroot="6a2fa88d-4174-4909-aece-db44b60a3aba" /> <!--How determined (CPT/LOINC/SNOMED Procedures, etc.) --> <codecode="" codeSystem="Any" codeSystemName="Any" /> <statusCodecode="active" /><!--Computed from Status column --> <!--The interval of time the condition event occurred, computed from date column --> <effectiveTime><lowvalue="20050328" /></effectiveTime> <!-- What (ICD-9, ICD-10, SNOMED, MEDCIN, et cetera) --> <value xsi:type="CV" code="44465007" codeSystem="2.16.840.1.113883.6.96“ codeSystemName="SNOMED CT"> <originalText mediaType="text/xml"> <!--problem in column 2 --> <referencevalue="#problem-1" /> </originalText> </value> <!-- Severity [0..1] --> <!-- Annotation [0..1] --> </observation> </entry>