Professional Documents
Culture Documents
2 Clinical Document
3 Architecture Framework
4
5 Release 1.0
6
7
Chair/Editor: Liora Alschuler, alschuler.spinosa
Robert H. Dolin, MD, Kaiser Permanente
Editor: Sandy Boyer, BSP, Consultant
Calvin Beebe, Mayo Clinic
Chair: Paul V. Biron, MLIS, Kaiser Permanente
Rachael Sokolowski, Magnolia Technologies
8
9 Table of Contents
10
11 1 INTRODUCTION..................................................................................................................................6
12 1.1 WHAT IS THE CDA?.........................................................................................................................6
13 1.1.1 Key aspects of the CDA............................................................................................................6
14 1.1.2 Scope of the CDA......................................................................................................................6
15 1.2 GOALS AND DESIGN PRINCIPLES......................................................................................................7
16 1.2.1 Goals.........................................................................................................................................7
17 1.2.2 Design Principles.....................................................................................................................7
18 1.3 SCOPE OF THE TECHNICAL SPECIFICATIONS IN THIS DOCUMENT......................................................7
19 2 CDA CONCEPTS...................................................................................................................................7
20 2.1 CDA DOCUMENT..............................................................................................................................7
21 2.2 DOCUMENT SCHEMAS AND DOCUMENT TYPE DEFINITIONS..............................................................8
22 2.3 DOCUMENT ARCHITECTURE..............................................................................................................8
23 2.4 SECURITY, CONFIDENTIALITY, AND DATA INTEGRITY.....................................................................9
24 2.5 RELATIONSHIP OF THE CDA TO HL7 MESSAGING STANDARDS......................................................9
25 2.5.1 CDA Documents and document management..........................................................................9
26 2.5.2 Sending a CDA document in a V2.x message.........................................................................10
27 2.5.3 Sending a CDA document in a V3 message............................................................................11
28 3 CDA TECHNICAL SPECIFICATIONS...........................................................................................13
29 3.1 INTRODUCTION................................................................................................................................13
30 3.2 CDA HEADER.................................................................................................................................14
2
1 3.2.1 Overview.................................................................................................................................14
2 3.2.2 Technical details.....................................................................................................................14
3 3.2.2.1 Common XML attributes.................................................................................................................14
4 3.2.2.1.1 XML element identification......................................................................................................14
5 3.2.2.2 Document information.....................................................................................................................15
6 3.2.2.2.1 Document identification............................................................................................................15
7 3.2.2.2.2 Document time stamps..............................................................................................................15
8 3.2.2.2.3 Document confidentiality..........................................................................................................16
9 3.2.2.2.4 Document relationships.............................................................................................................16
10 3.2.2.3 Encounter data.................................................................................................................................17
11 3.2.2.4 Service actors...................................................................................................................................18
12 3.2.2.4.1 People responsible for a clinical document...............................................................................18
13 3.2.2.4.2 Authenticators...........................................................................................................................19
14 3.2.2.4.3 Intended recipients....................................................................................................................19
15 3.2.2.4.4 Originators................................................................................................................................20
16 3.2.2.4.5 Transcriptionist.........................................................................................................................20
17 3.2.2.4.6 Healthcare providers.................................................................................................................20
18 3.2.2.4.7 Other service actors...................................................................................................................21
19 3.2.2.5 Service targets..................................................................................................................................22
20 3.2.2.5.1 Patient.......................................................................................................................................22
21 3.2.2.5.2 Originating device.....................................................................................................................22
22 3.2.2.5.3 Other service targets..................................................................................................................23
23 3.2.2.6 Localization.....................................................................................................................................23
24 3.2.3 Hierarchical Description........................................................................................................25
25 3.2.4 XML Document Type Definition.............................................................................................33
26 3.3 CDA LEVEL ONE BODY.................................................................................................................48
27 3.3.1 Overview.................................................................................................................................48
28 3.3.2 Technical details.....................................................................................................................48
29 3.3.2.1 Shared XML attributes.....................................................................................................................48
30 3.3.2.1.1 XML element identification......................................................................................................48
31 3.3.2.1.2 Confidentiality..........................................................................................................................48
32 3.3.2.1.3 Originators................................................................................................................................48
33 3.3.2.1.4 Language..................................................................................................................................49
34 3.3.2.2 Document body and sections...........................................................................................................49
35 3.3.2.2.1 Document body.........................................................................................................................49
36 3.3.2.2.2 Document sections....................................................................................................................50
37 3.3.2.2.3 Non_xml body..........................................................................................................................51
38 3.3.2.3 Document Structures........................................................................................................................52
39 3.3.2.3.1 Paragraphs................................................................................................................................52
40 3.3.2.3.2 Lists and list items....................................................................................................................52
41 3.3.2.3.3 Tabular material........................................................................................................................53
42 3.3.2.4 Document Entries............................................................................................................................54
43 3.3.2.4.1 Character data...........................................................................................................................54
44 3.3.2.4.2 Content.....................................................................................................................................54
45 3.3.2.4.3 Links.........................................................................................................................................55
46 3.3.2.4.4 Coded entries............................................................................................................................56
47 3.3.2.4.5 Observation media....................................................................................................................59
48 3.3.2.4.6 Localization..............................................................................................................................61
49 3.3.3 XML Document Type Definition.............................................................................................62
50 4 GLOSSARY..........................................................................................................................................73
51 5 APPENDICES (NON-NORMATIVE)...............................................................................................75
52 5.1 SAMPLES.........................................................................................................................................75
53 5.1.1 Sample document....................................................................................................................75
54 5.1.2 Sample CDA document ..........................................................................................................77
55 5.1.2.1 Sample CDA document with rich markup.......................................................................................77
56 5.1.2.2 Sample CDA document with minimal markup.................................................................................81
57 5.1.3 Sample XSLT stylesheet..........................................................................................................85
58 5.1.4 HTML rendition of sample CDA document............................................................................93
1 Health Level Seven, © 2000. All rights reserved 2
2
1 5.2 CDA LEVEL ONE BODY UML MODEL...........................................................................................96
2 5.3 CDA IMPLEMENTATION NOTES......................................................................................................99
3 5.3.1 Tables.....................................................................................................................................99
4 5.3.2 Validation and conformance..................................................................................................99
5 5.3.3 Localization..........................................................................................................................100
6 5.3.4 Transformation issues..........................................................................................................100
7 5.3.5 Representing authenticated content.....................................................................................101
8 5.4 REFERENCES.................................................................................................................................102
9 5.5 ACKNOWLEDGEMENTS..................................................................................................................103
10
11
12
13
2
1 Table of Figures
2
3 FIGURE 1. ILLUSTRATION OF CDA DOCUMENT HIERARCHY...........................................................................9
4 FIGURE 2. EXAMPLE OF A CDA DOCUMENT IN AN MDM (EVENT T02) MESSAGE........................................11
5 FIGURE 3. EXAMPLE OF A CDA DOCUMENT IN A VERSION 3 MESSAGE........................................................12
6 FIGURE 4. XML ID ATTRIBUTE......................................................................................................................15
7 FIGURE 5. XML CONTENT MODEL OF <LOCAL_HEADER>..............................................................................24
8 FIGURE 6. XML CONFIDENTIALITY ATTRIBUTE..............................................................................................48
9 FIGURE 7. XML ORIGINATOR ATTRIBUTE.......................................................................................................49
10 FIGURE 8. XML XML:LANG ATTRIBUTE.........................................................................................................49
11 FIGURE 9. XML CONTENT MODEL OF <BODY>..............................................................................................50
12 FIGURE 10. XML CONTENT MODEL OF <SECTION>........................................................................................50
13 FIGURE 11. XML CONTENT MODEL OF <CAPTION>.......................................................................................51
14 FIGURE 12. XML CONTENT MODEL OF <NON_XML>.....................................................................................52
15 FIGURE 13. XML CONTENT MODEL OF <PARAGRAPH>..................................................................................52
16 FIGURE 14. XML CONTENT MODEL OF <LIST> AND <ITEM>.........................................................................53
17 FIGURE 15. CHANGES TO THE STRICT XHTML TABLE MODEL IN CDA........................................................54
18 FIGURE 16. XML CONTENT MODEL OF <CONTENT>......................................................................................55
19 FIGURE 17. XML CONTENT MODEL OF <LINK> AND <LINK_HTML>.............................................................56
20 FIGURE 18. XML CONTENT MODEL OF <CODED_ENTRY>..............................................................................57
21 FIGURE 19. REFERENCING ORIGINAL TEXT WITH <CODED_ENTRY>..............................................................58
22 FIGURE 20. XML CONTENT MODEL OF <OBSERVATION_MEDIA>..................................................................60
23 FIGURE 21. XML CONTENT MODEL OF <LOCAL_MARKUP>...........................................................................61
24
25
2
1 Table of Tables
2
3 TABLE 1. VOCABULARY DOMAIN FOR <EXAMPLE_CODED_CDA_COMPONENT> (CWE)..............................13
4 TABLE 2. EXAMPLE CONCEPTS FOR <EXAMPLE_CODED_CDA_COMPONENT> (CWE)..................................14
5 TABLE 3. EXAMPLE CONCEPTS FOR <DOCUMENT_TYPE_CD> (CWE)...........................................................15
6 TABLE 4. VOCABULARY DOMAIN FOR <CONFIDENTIALITY_CD> (CWE).......................................................16
7 TABLE 5. VOCABULARY DOMAIN FOR <DOCUMENT_RELATIONSHIP.TYPE_CD> (CNE)................................17
8 TABLE 6. VOCABULARY DOMAIN FOR <FULFILLS_ORDER.TYPE_CD> (CNE)................................................17
9 TABLE 7. VOCABULARY DOMAIN FOR <PRACTICE_SETTING_CD> (CWE).....................................................18
10 TABLE 8. VOCABULARY DOMAIN FOR <PERSON_NAME.TYPE_CD> (CWE)...................................................18
11 TABLE 9. VOCABULARY DOMAIN FOR <AUTHENTICATOR.TYPE_CD> (CNE).................................................19
12 TABLE 10. VOCABULARY DOMAIN FOR <LEGAL_AUTHENTICATOR.TYPE_CD> (CNE)..................................19
13 TABLE 11. VOCABULARY DOMAIN FOR <SIGNATURE_CD> (CNE)................................................................19
14 TABLE 12. VOCABULARY DOMAIN FOR <INTENDED_RECIPIENT.TYPE_CD> (CNE).......................................20
15 TABLE 13. VOCABULARY DOMAIN FOR <ORIGINATOR.TYPE_CD> (CNE)......................................................20
16 TABLE 14. VOCABULARY DOMAIN FOR <ORIGINATING_ORGANIZATION.TYPE_CD> (CNE)..........................20
17 TABLE 15. VOCABULARY DOMAIN FOR <TRANSCRIPTIONIST.TYPE_CD> (CNE)...........................................20
18 TABLE 16. VOCABULARY DOMAIN FOR <PROVIDER.TYPE_CD> (CNE)..........................................................21
19 TABLE 17. VOCABULARY DOMAIN FOR <FUNCTION_CD> (CWE).................................................................21
20 TABLE 18. VOCABULARY DOMAIN FOR <SERVICE_ACTOR.TYPE_CD> (CWE)..............................................22
21 TABLE 19. VOCABULARY DOMAIN FOR <PATIENT.TYPE_CD> (CNE)............................................................22
22 TABLE 20. VOCABULARY DOMAIN FOR <ADMINISTRATIVE_GENDER_CD> (CWE).......................................22
23 TABLE 21. VOCABULARY DOMAIN FOR <ORIGINATING_DEVICE.TYPE_CD> (CNE).......................................23
24 TABLE 22. VOCABULARY DOMAIN FOR <RESPONSIBILITY.TYPE_CD> (CWE)...............................................23
25 TABLE 23. VOCABULARY DOMAIN FOR <SERVICE_TARGET.TYPE_CD> (CWE).............................................23
26 TABLE 24. HIERARCHICAL DESCRIPTION OF CDA HEADER...........................................................................25
27 TABLE 25. EXAMPLE CONCEPTS FOR <CAPTION_CD> (CWE)........................................................................50
28 TABLE 26. EXAMPLE CONCEPTS FOR <CODED_ENTRY.VALUE>.....................................................................56
29 TABLE 27. HIERARCHICAL DESCRIPTION OF <OBSERVATION_MEDIA>..........................................................59
30
31
2
1 1 Introduction
1 1
Terms defined in the glossary are cited in double quotes on first mention within this document. Acronyms
2 are not quoted but are expanded in the glossary.
3 2
There is a distinct scope of persistence for a clinical document, independent of the persistence of any
4 XML-encoded CDA document instance.
5 3
The Clinical Document Architecture is based on the HL7 Reference Information Model, Version 0.98,
6 which reflects agreements made through and including the July 2000 RIM Harmonization meeting.
7 Health Level Seven, © 2000. All rights reserved 6
8
1 package CDA documents within HL7 messages (see 2.5.2 Sending a CDA document in a V2.x message
2 and 2.5.3 Sending a CDA document in a V3 message).
3
4 The CDA does not specify the creation or management of documents, only their exchange markup.
5 Document management is critically interdependent with the CDA specifications, but the specification of
6 document management messages is outside the scope of the CDA. (For more on this, see 2.5.1 CDA
7 Documents and document management).
9 1.2.1 Goals
10 The goals of the CDA are:
11 1. Give priority to delivery of patient care.
12 2. Allow cost effective implementation across as wide a spectrum of systems as possible.
13 3. Support exchange of human-readable documents between users, including those with different levels
14 of technical sophistication.
15 4. Promote longevity of all information encoded according to this architecture.
16 5. Enable a wide range of post-exchange processing applications.
17 6. Be compatible with a wide range of document creation applications.
18 7. Promote exchange that is independent of the underlying transfer or storage mechanism.
19 8. Prepare the design reasonably quickly.
20 9. Enable policy-makers to control their own information requirements without extension to this
21 specification.
2
1 2 CDA Concepts
2
1 Levels are extensible laterally – that is, the markup granularity of all schemas within a given level is
2 roughly the same but each schema expresses a different set of constraints.
3
4 The CDA Level One DTD permits use of any valid document type code and section code, but there is only
5 one CDA Level One DTD for all types of clinical documents, regardless of content. Above Level One,
6 there will be distinct XML DTDs for different types of clinical documents. Thus, at Level One, it is
7 possible to differentiate a "Consultation Note" from a "Discharge Summary" because the two will have
8 distinct document type code values in the document instance. Above Level One, it will be possible to
9 specify additional constraints on a document based on whether it is a "Consultation Note" or a "Discharge
10 Summary" by creating distinct XML DTDs for each document type code.
11
12 An illustration of one possible hierarchy of CDA DTDs is shown here4:
13
14 Figure 1. Illustration of CDA Document Hierarchy
1 4
An ontology of clinical document type codes is under development by a consortium of standards and
2 vocabulary organizations. See the draft paper, “Proposal for an Ontology for Exchange of Clinical
3 Documents” published July 19, 2000 at http://www.hl7.org/special/dotf/dotf.htm.
4 Health Level Seven, © 2000. All rights reserved 9
5
1 2.5.1 CDA Documents and document management
2 Clinical documents can be revised, and they can be appended to existing documents. Ideally, an updated
3 document would declare itself as obsolete, and would contain an explicit pointer to a more recent version.
4 This would lessen the chances of a healthcare provider basing treatment decisions on erroneous or
5 incomplete data.
6
7 In practice, however, it is impossible to guarantee an explicit forward pointer from an outdated version to
8 the newer version. Without a process that tracks the chain of custody of clinical documents and all of their
9 copies, there can be no way to guarantee that a clinical document being viewed has not been subsequently
10 revised.
11
12 To minimize the risk of viewing superseded information, there is a critical interdependence between
13 clinical documents and document management systems. If CDA documents are viewed outside the context
14 of a document management system, it cannot be known with certainty whether or not the viewed document
15 has been revised. HL7 messages that carry CDA documents (such as the MDM messages in HL7 V2.x)
16 convey critical contextual information that ensures accurate viewing of clinical data.
2
1 Figure 2. Example of a CDA document in an MDM (event T02) message.
2 MSH|...
3 EVN|...
4 PID|...
5 PV1|...
6 TXA|...
9 MIME-Version: 1.0
11 Content-Transfer-Encoding: Base64
12 --HL7-CDA-boundary
13 Content-Type: application/x-hl7-cda-level-one+xml
14
15 ... Base64-encoded CDA document ...
16
17 --HL7-CDA-boundary
18 Content-Type: image/JPEG
19
20 ... Base64 image ...
21
22 --HL7-CDA-boundary--
23 |...
2
1
2 Figure 3. Example of a CDA document in a Version 3 message.5
3 <someMessage>
4 <Service.service_cd V="11488-4"
5 S="2.16.840.1.113883.6.1" DN="Consultation note"/>
6 <Service.txt MT="multipart/x-hl7-cda-level-one">
7 MIME-Version: 1.0
9 Content-Transfer-Encoding: Base64
10 --HL7-CDA-boundary
11 Content-Type: application/x-hl7-cda-level-one+xml
12
13 ... Base64-encoded CDA document ...
14
15 --HL7-CDA-boundary
16 Content-Type: image/JPEG
17
18 ... Base64 image ...
19
20 --HL7-CDA-boundary--
21 </Service.txt>
22 </someMessage>
1 5
Note that the exact representation is contingent on the outcome of the HL7 Version 3 Data Types, Release
2 1 DTD ballot.
3 Health Level Seven, © 2000. All rights reserved 12
4
1 3 CDA Technical Specifications
2 3.1 Introduction
3 As noted above, CDA Level One is specified by the CDA Level One DTD. This DTD incorporates the
4 CDA Header DTD, which is defined as an XML entity. The CDA Header DTD incorporates the HL7
5 Version 3 Data Types, Release 1 DTD, also defined as an XML entity. A CDA Level One document
6 references the CDA Level One DTD.
7
8 Technically, CDA Level One is specified by three components:
9
10 The CDA Header is specified by the CDA Header DTD which is derived from a Hierarchical
11 Description (HD), using a method that closely parallels the V3 Message Development Framework
12 (see 5.4 References).
13 The CDA Level One Body is specified in the CDA Level One DTD and is derived from document
14 analysis, building on the modeling employed by document markup standards.
15 The HL7 Version 3 Data Types, Release 1 DTD is an XML implementation of the abstract data
16 type specification used by both the CDA and the HL7 Version 3 message specifications. 6
17
18 The CDA element <levelone>7 is the root element of a CDA Level One document. The <levelone>
19 element, declared in the CDA Level One DTD, contains a <clinical_document_header> and a <body>. The
20 details of <clinical_document_header> are explained in the next section (see 3.2 CDA Header), followed
21 by the details of the <body> (see 3.3 CDA Level One Body).
22
23 Vocabulary domains represent value sets for coded CDA components. These domains can include HL7-
24 defined concepts or can be drawn from HL7-recognized coding systems such as LOINC or SNOMED.
25 Vocabulary domains have a coding strength that can be "Coded, No Extensions" (CNE), in which case the
26 only allowable values for the CDA component are those in the vocabulary domain; or "Coded, With
27 Extensions" (CWE), in which case values other than those in the vocabulary domain (such as local codes)
28 can be used if necessary8. Every vocabulary domain has a unique HL7-assigned identifier, and every
29 concept within a vocabulary domain has a unique code. A coded CDA component may constrain its use of
30 an associated vocabulary domain to a stated subset.
31
32 Where a coded CDA component is associated with an HL7-defined vocabulary domain, the standard
33 specifies the coding strength (CWE vs. CNE) and enumerates the allowable concepts with a code, display
34 name, and definition for each concept, as shown in the following example:
35
36 Table 1. Vocabulary domain for <example_coded_CDA_component> (CWE)
Code Display Name Definition
G go To proceed.
S stop To refrain from proceeding.
37
38
1 6
The HL7 Version 3 Data Types, Release 1 abstract specification and the XML implementation of those
2 data types are being separately balloted by the Control Query Technical Committee, in parallel with this
3 document. The data type specification is the work product of an open task force that was charged in
4 Summer 1998 by the Control Query Technical Committee to redesign data types for HL7 Version 3. A
5 working document that contained the specification has been presented to the Technical Steering Committee
6 in 1999. The data type specification has been approved through the RIM harmonization process, and the
7 data types are part of the RIM.
8 7
In the descriptive text of this document, XML element names are surrounded by angle brackets (<>).
9 8
CNE vocabulary domains are enumerated in the XML DTD such that a CDA document containing a value
10 outside the enumerated set is invalid.
11 Health Level Seven, © 2000. All rights reserved 13
12
1 Where a coded CDA component is associated with an externally-defined vocabulary domain, the standard
2 specifies the coding strength (CWE vs. CNE), and an example of allowable concepts of that domain (with a
3 code, display name, and code system identifier for each concept), as shown in the following example:
4
5 Table 2. Example concepts for <example_coded_CDA_component> (CWE)
Code Display Name Code System* Code System Name
18733-6 Ambulatory visit 2.16.840.1.113883.6.1 LOINC
note
18742-7 Arthroscopy report 2.16.840.1.113883.6.1 LOINC
6 *Code systems in HL7 V2.x were identified by HL7-assigned abbreviations. HL7 now assigns ISO identifiers instead
7 of abbreviations.
9 3.2.1 Overview
10 The purpose of the CDA Header is to enable clinical document exchange across and within institutions;
11 facilitate clinical document management; and facilitate compilation of an individual patient's clinical
12 documents into a lifetime electronic patient record.
13
14 There are four logical components of the CDA Header:
15 (1) Document information;
16 (2) Encounter data;
17 (3) Service actors (such as providers); and
18 (4) Service targets (such as patients).
19
20 Document information identifies the document, defines confidentiality status, and describes relationships to
21 other documents and orders. Encounter data describes the setting in which the documented encounter
22 occurred. Service actors include those who authenticate the document, those intended to receive a copy of
23 the document, document originators and transcriptionists, and health care providers who participated in the
24 service(s) being documented. Service targets include the patient, other significant participants (such as
25 family members), and those devices that may have originated portions of the document.
1 9
This document discusses both XML data types and HL7 Version 3 Data Types, Release 1. Unless
2 otherwise qualified, the term "data type” refers to HL7 Version 3 Data Types, Release 1.
3 Health Level Seven, © 2000. All rights reserved 14
4
1 Figure 4. XML ID attribute
2 <!ATTLIST Every_CDA_ELEMENT
3 ...
4 ID ID #IMPLIED
5 ...>
15 Every document has a required document type code, <document_type_cd>. The externally-defined
16 vocabulary domain for <document_type_cd> is drawn from LOINC.10
17
18 Table 3. Example concepts for <document_type_cd> (CWE)
Code Display Name Code System Code System Name
18733-6 Ambulatory visit 2.16.840.1.113883.6.1 LOINC
note
18742-7 Arthroscopy report 2.16.840.1.113883.6.1 LOINC
18743-5 Autopsy report 2.16.840.1.113883.6.1 LOINC
18745-0 Cardiac 2.16.840.1.113883.6.1 LOINC
catheterization report
11488-4 Consultation note 2.16.840.1.113883.6.1 LOINC
18747-6 CT report 2.16.840.1.113883.6.1 LOINC
11490-0 Discharge note 2.16.840.1.113883.6.1 LOINC
11520-4 Echocardiogram 2.16.840.1.113883.6.1 LOINC
report
15507-7 Emergency visit note 2.16.840.1.113883.6.1 LOINC
11492-6 History and physical 2.16.840.1.113883.6.1 LOINC
note
11504-8 Operative note 2.16.840.1.113883.6.1 LOINC
11505-5 Procedure note 2.16.840.1.113883.6.1 LOINC
11506-3 Progress note 2.16.840.1.113883.6.1 LOINC
11522-0 Radiology report 2.16.840.1.113883.6.1 LOINC
11519-6 Social service report 2.16.840.1.113883.6.1 LOINC
11529-5 Surgical pathology 2.16.840.1.113883.6.1 LOINC
report
18761-7 Transfer summary 2.16.840.1.113883.6.1 LOINC
11542-8 Visit note 2.16.840.1.113883.6.1 LOINC
1 10
We anticipate that document type codes in LOINC will be supplemented by codes conforming to the
2 proposed document ontology. See the draft paper, "Proposal for an Ontology for Exchange of Clinical
3 Documents" published July 19, 2000 at http://www.hl7.org/special/dotf/dotf.htm.
4 Health Level Seven, © 2000. All rights reserved 15
5
1 XML element name ending in "_tmr" and using the "interval of time" or the "general time specification"
2 data type).
3
4 The <service_tmr> represents the time the service being documented took place. It is required unless there
5 is an encounter associated with the service in which case <encounter_tmr>, which represents the time of
6 the encounter, is required, and <service_tmr> need not be recorded 11. Both <service_tmr> and
7 <encounter_tmr> can be expressed as a point in time or a time interval.
8
9 The <origination_dttm> represents the time an original document is initiated (e.g. dictated or input into a
10 software interface). If a document is subsequently revised, the value of <origination_dttm> remains
11 unchanged.
12
13 The <copy_dttm> represents the time a document is released (i.e. copied or sent to a display device) from a
14 document management system that maintains revision control over the document. Once valued, it cannot be
15 changed. The intent of <copy_dttm> is to give the viewer of the document some notion as to how long the
16 document has been out of the safe context of its document management system.
17
18 Other time stamps in the document lifecycle are recorded through their association with the various service
19 actors and service targets. Thus, there is a time associated with document authentication, origination,
20 transcription, provider and other service actors’ participation, and patient and other service targets’
21 participation.
1 11
Note that the XML DTD does not express this constraint in such a way that a validating XML processor
2 can enforce conformance.
3 Health Level Seven, © 2000. All rights reserved 16
4
1 <set_id>, and has the value of <version_nbr> set to equal "1".
2
3 An addendum is an appendage to an existing report that contains supplemental information. The appendage
4 is itself an original report, as described in the previous paragraph. The parent report being appended is
5 referenced via <document_relationship>, with <document_relationship.type_cd> set to equal "APND" (for
6 "appends"). The parent report being appended remains in place and its content and status are unaltered.
7
8 A replacement report replaces an existing report. The replacement report gets a new globally unique <id>
9 value, while the replacement report uses the same value for <set_id> as the parent report being replaced,
10 and increments the value of <version_nbr> by 1. (Note that <version_nbr> must be incremented by one
11 when a report is replaced, but can also be incremented more often to meet local requirements.) The parent
12 report is considered superseded, but is still retained in the system for historical reference. The parent report
13 being replaced is referenced via a <document_relationship>, with <document_relationship.type_cd> set to
14 equal "RPLC" (for "replaces").
15
16 The following table summarizes allowable values for <document_relationship.type_cd>.
17
18 Table 5. Vocabulary domain for <document_relationship.type_cd>
19 (CNE)
Code Display Name Definition
APND appends An addendum is an appendage to an existing report that contains supplemental
information. The appendage is itself an original report that is related to the parent
report. The parent report being appended remains in place and its content and status
are unaltered.
RPLC replaces A replacement report replaces an existing report. The state of the parent report
being replaced becomes "superseded", but is still retained in the system for
historical reference.
1 12
Note that the XML DTD does not express this constraint in such a way that a validating XML processor
2 can enforce conformance.
3 Health Level Seven, © 2000. All rights reserved 17
4
1 location for cardiology clinic one day, and for primary care clinic another day; and cardiology clinic today
2 might be held in one physical location, but in another physical location tomorrow.)
3
4 Values for <practice_setting_cd> should be drawn from the PracticeSetting vocabulary domain.
5
6 Table 7. Vocabulary domain for <practice_setting_cd> (CWE)
Code Implies Display Name*
OF Outpatient facility
CARD OF Cardiology clinic
GIM OF General internal medicine clinic
PC OF Primary care clinic
RHEUM OF Rheumatology clinic
SPMED OF Sports medicine clinic
WND OF Wound clinic
HU Hospital unit
CCU HU Coronary care unit
ER HU Emergency room
ICU HU Intensive care unit
PHU HU Psychiatric hospital unit
RHU HU Rehabilitation hospital unit
HOSP Hospital
GACH HOSP General acute care hospital
RH HOSP Rehabilitation hospital
NCCF Nursing or Custodial Care Facility
SNF NCCF Skilled nursing facility
RTF Residential treatment facility
SURF RTF Substance use rehabilitation facility
7 *Note that there are no definitions for these concepts included in RIM 0.98.
1 Where there is only one allowable value for type_cd, it is modeled as a fixed attribute in the XML DTD.
13
3
legal name)
I Indigenous / Tribal e.g. Chief Red Cloud.
name
L Legal name A person's full legal name.
R Religious name e.g. Sister Mary Francis, Brother John.
1 3.2.2.4.2 Authenticators
2 The CDA is a standard that specifies the structure of exchanged clinical documents. In the case where a
3 local document is transformed into a CDA document for exchange, authentication occurs on the local
4 document, and that fact is reflected in the exchanged CDA document. A CDA document can reflect the
5 unauthenticated, authenticated, or legally authenticated state. The unauthenticated state exists when no
6 authentication information has been recorded (i.e., it is the absence of being either authenticated or legally
7 authenticated).
8
9 An authenticated document exists when a provider has attested to the accuracy of the document. A
10 document can be authenticated by zero or more people. The following table, drawn from the ServiceActor
11 vocabulary domain, summarizes allowable values for <authenticator.type_cd>.
12
13 Table 9. Vocabulary domain for <authenticator.type_cd> (CNE)
Code Display Nmae Definition
VRF verifier A person who verifies (authenticates) the correctness and appropriateness of the
document.
14
15 A legally authenticated document exists when the individual who is legally responsible for the document
16 has attested to its accuracy. The following table, drawn from the ServiceActor vocabulary domain,
17 summarizes allowable values for <legal_authenticator.type_cd>.
18
19 Table 10. Vocabulary domain for <legal_authenticator.type_cd>
20 (CNE)
Code Display Name Definition
SPV supervisor (legal A person who is legally responsible for (and legally authenticates) the service
authenticator) carried out by a performer. A supervisor is not necessarily present in an action, but
is accountable for the action through the power to delegate, and the duty to review
actions with the performing actor after the fact.
21
22 The <participation_tmr> element is used to indicate the time of authentication or legal authentication.
23
24 Both authentication and legal authentication require that a document has been signed manually or
25 electronically by the responsible individual. While electronic signatures are not part of the CDA Header,
26 the CDA Header does require the acquisition of signature to be documented, via the <signature_cd>
27 component. The following table, drawn from the ServiceActorSignature vocabulary domain, summarizes
28 allowable values for <signature_cd>.
29
30 Table 11. Vocabulary domain for <signature_cd> (CNE)
Code Display Name Definition
S signed A signature for the service is on file from this actor.
X required A signature for the service is required of this actor.
31
32 The <signature_cd> can be used to distinguish between intended and actual authenticators. A value of "S"
33 indicates that the signature has been obtained and is on file, whereas a value of "X" indicates that the actor
34 is an intended authenticator or legal authenticator.
2
1
2 Table 12. Vocabulary domain for <intended_recipient.type_cd> (CNE)
Code Display Name Definition
TRC tracker A person who may receive copies of exchange about this service.
3 3.2.2.4.4 Originators
20 3.2.2.4.5 Transcriptionist
21 The CDA Header can specify a transcriptionist. The <participation_tmr> element is used to indicate the
22 time of transcription. The following table, drawn from the ServiceActor vocabulary domain, summarizes
23 allowable values for <transcriptionist.type_cd>.
24
25 Table 15. Vocabulary domain for <transcriptionist.type_cd> (CNE)
Code Display Name Definition
ENT data entry person A person entering the data into the originating system.
1 14
Note that the XML DTD does not express this constraint in such a way that a validating XML processor
2 can enforce conformance, since both <originator> and <originating_device> are optional, but at least one or
3 the other must be present.
4 Health Level Seven, © 2000. All rights reserved 20
5
recommendations.
PRF performer A person who actually and principally carries out the action. Need not be the
principal responsible actor, e.g. a surgery resident operating under supervision of
attending surgeon.
1
2 The optional <function_cd> describes the business function of the provider in more detail. The following
3 table, drawn from the ServiceActorFunction vocabulary domain, summarizes allowable values for
4 <function_cd>.
5
6 Table 17. Vocabulary domain for <function_cd> (CWE)
Code Display Name Definition
ADMPHYS admitting physician A physician who admitted a patient to a hospital or other care unit that is the context
of this service.
ANEST anesthesist In a typical anesthesia setting an anesthesiologist or anesthesia resident in charge of
the anesthesia and life support, but only a witness to the surgical procedure itself.
To clarify responsibilities anesthesia should always be represented as a separate
service related to the surgery.
ANRS anesthesia nurse In a typical anesthesia setting the nurse principally assisting the anesthesiologist
during the critical periods.
ATTPHYS attending physician A physician who is primarily responsible for a patient during the hospitalization,
which is the context of the service.
DISPHYS discharging physician A physician who discharged a patient from a hospital or other care unit that is the
context of this service.
FASST first assistant surgeon In a typical surgery setting the assistant facing the primary surgeon. The first
assistant performs parts of the operation and assists in others (e.g., incision,
approach, electrocoutering, ligatures, sutures.)
MDWF midwife A person (usually female) helping a woman deliver a baby. Responsibilities vary
locally, ranging from a mere optional assistant to a full required participant,
responsible for (normal) births and pre- and post-natal care for both mother and
baby.
NASST nurse assistant In a typical surgery setting the non-sterile nurse handles material supply from the
stock, forwards specimen to pathology, and helps with other non-sterile tasks (e.g.,
phone calls, etc.)
PCP primary care physician The healthcare provider that holds primary responsibility for the overall care of a
patient.
PRISURG primary surgeon In a typical surgery setting the primary performing surgeon.
RNDPHYS rounding physician A physician who made rounds on a patient in a hospital or other care center.
SASST second assistant In a typical surgery setting the assistant who primarily holds the hooks.
surgeon
SNRS scrub nurse In a typical surgery setting the nurse in charge of the instrumentation.
TASST third assistant In a typical surgery setting there is rarely a third assistant (e.g., in some Hip
operations the third assistant postures the affected leg.)
7
8 Note that the <function_cd> component designates the actual function performed in the service being
9 documented. This is different from a role associated with a person or a profession- or specialty-code. For
10 instance, the function "anesthetist" is not necessary served by an anesthesiologist.
2
guardian.)
INF informant A source of reported information (e..g a next of kin who answers questions about the
patient's history.)
REF referrer A person having referred the subject of the service to the performer (e.g. referring
physician.)
WIT witness A person witnessing the action happening without doing anything. A witness is not
necessarily aware, much less approves of anything stated in the service event.
5 3.2.2.5.1 Patient
6 The CDA Header requires one and only one value for <patient>. The value of the <patient> component
7 indicates whose medical record this document belongs to. By default, the <patient> is also the principal
8 subject of the service(s) being documented. If that is not the case, the CDA Header allows other service
9 targets to be specified (see 3.2.2.5.3 Other service targets). The <participation_tmr> element is used to
10 indicate the time of participation. The following table, drawn from the ServiceTargetType vocabulary
11 domain, summarizes allowable values for <patient.type_cd>.
12
13 Table 19. Vocabulary domain for <patient.type_cd> (CNE)
Code Display Name Definition
PAT patient The patient target indicates whose patient medical record this service is part of.
PATSBJ patient subject Implies that the patient is the subject of the service.
14
15 The <patient> is defined as having the same components as any other person (see 3.2.2.4.1 People
16 responsible for a clinical document), plus a date of birth, <birth_dttm>, and a gender,
17 <administrative_gender_cd>. The following table, drawn from the AdministrativeGender vocabulary
18 domain, summarizes allowable values for <administrative_gender_cd>.
19
20 Table 20. Vocabulary domain for <administrative_gender_cd> (CWE)
Code Display Name Definition
F Female A patient that can share a hospital room with someone of the female gender.
M Male A patient that can share a hospital room with someone of the male gender.
21
22 A <patient> has two types of identifiers. The first type of identifier can be used for any individual and
23 belongs to a person independent of affiliation with a healthcare service provider (see 3.2.2.4.1 People
24 responsible for a clinical document). The second type of identifier is used by a healthcare service provider
25 to identify a patient with whom they have a relationship. This second type of identifier is used only for
26 people in their role as patient under the auspices of a single provider organization. This identifier is
27 represented by the <is_known_by > element and the <is_known_to > element identifies the healthcare
28 provider.
5
1 The following table, drawn from the ServiceTargetType vocabulary domain, summarizes allowable values
2 for <originating_device.type_cd>.
3
4 Table 21. Vocabulary domain for <originating_device.type_cd> (CNE)
Code Display Name Definition
ODV originating device A device that originates all or part of a document.
5
6 Each originating device has a unique identifier and falls under the responsibility of one or more
7 stakeholders, and the responsible parties for a device can be specified in the CDA Header using the
8 <responsibility> component. The <responsiblity_tmr> element is used to indicate the time during which the
9 stakeholder assumed the type of responsiblity indicated by the <responsibility.type_cd> element. The
10 following table, drawn from the MaterialResponsibility vocabulary domain, suggests values for
11 <responsibility.type_cd>.
12
13 Table 22. Vocabulary domain for <responsibility.type_cd> (CWE)
Code Display Name Definition
MNT maintainer A person in charge of the maintenance of a material. Assumes responsibility for
proper operation, quality, and safety.
22 3.2.2.6 Localization
23 Locally-defined markup must be used when local semantics have no corresponding representation in the
24 CDA specification. CDA seeks to standardize the highest level of shared meaning while providing a clean
25 and standard mechanism for tagging meaning that is not shared. This is achieved with the CDA
26 <local_header> element. For additional implementation notes on localization, see Appendix 5.3.3
27 Localization and 5.3.4 Transformation issues.
28
29
30 The <local_header> element is optionally repeating, and recursive. The "descriptor" attribute describes the
31 element, and the value can be drawn from a local vocabulary domain. The "ignore" attribute tells the
32 receiver to ignore just the <local_header> tag (ignore="markup"), or to ignore the <local_header> tag and
33 all contained content (ignore="all"). The "render" attribute indicates how the sender would render the
34 contents. The value can be drawn from a local vocabulary domain. The human language of contained
35 character data can be specified using the xml:lang attribute (see 3.3.2.1.4 Language). The nested
36 <local_attr> element is provided to make it easier to map local XML attribute values into local markup.
37
2
1 Figure 5. XML content model of <local_header>
3 <!ATTLIST local_header
7 ID ID #IMPLIED
10 <!ATTLIST local_attr
13 ID ID #IMPLIED
15
2
1 3.2.3 Hierarchical Description
2 See 1999 HL7 Message Development Framework for detailed description of this table structure.
3
4 Table 24. Hierarchical description of CDA Header
Row Row Class or RIM RIM XML in XML Element Source Data Type Car Vocabulary Coding Man- De- Con-
# Type Property of Source Element Element of dina Domain Strngth datory fault straint
Class Class Name Name Element lity * Value #
(Attribute or
Association)
1. class service document_ document_ clinical_document_ Root N document 1..1 M
service service_as_ header _service
clinical_
document_
header
2. attr id document_ id id clinical_document_ D II 1..1 M
service header
3. attr set_id document_ set_id set_id clinical_document_ D II 0..1 M
service header
4. attr version_nbr document_ version_ version_nbr clinical_document_ D INT 0..1 M
service nbr header
5. attr service_cd document_ service_cd document_type_cd clinical_document_ D CE 1..1 DocumentType CWE
service header (2.16.840.1.1138
83.6.1.10870)
6. attr activity_ document_ activity_ service_tmr clinical_document D GTS 0..1 M C0
dttm service dttm _header
7. attr origination_ document_ origination_ origination_dttm clinical_document_ D TS 1..1 M
dttm service dttm header
8. attr copy_dttm document_ copy_dttm copy_dttm clinical_document_ D TS 0..1 M
service header
9. attr confidentiality document_ confidentiality confidentiality_cd clinical_document_ D SET <CE> 0..1 ServiceConfident CWE N C1
_cd service _cd header iality
(2.16.840.1.1138
83.5.10228)
10. assoc is_source_ document_ is_source_for_ document_ clinical_document_ N service_ 0..* M
for service service_ relationship header relationship
relationship
11. attr type_cd service_ type_cd document_ document_ D CS 1..1 ServiceRelations CNE M C2
relationship relationship. relationship hip
type_cd (2.16.840.1.1138
83.5.10317)
12. assoc has_target service_ has_ target_ related_ document_ N service 1..1 M
relationship service document relationship
2
1
2 <!ELEMENT clinical_document_header (
3 id,
4 set_id?,
5 version_nbr?,
6 document_type_cd,
7 service_tmr?,
8 origination_dttm,
9 copy_dttm?,
10 confidentiality_cd*,
11 document_relationship*,
12 fulfills_order?,
13 patient_encounter?,
14 authenticator*,
15 legal_authenticator?,
16 intended_recipient*,
17 originator*,
18 originating_organization?,
19 transcriptionist?,
20 provider+,
21 service_actor*,
22 patient,
23 originating_device*,
24 service_target*,
25 local_header*)>
26 <!ATTLIST clinical_document_header
27 %common_atts;
28 HL7-NAME CDATA #FIXED 'document_service_as_clinical_document_header'
29 T CDATA #FIXED 'service'
30 RIM-VERSION CDATA #FIXED '0.98'>
31
32 <!--
33 ============================================================
34 ============================================================
35 RIM components (classes, attributes, associations) nested under
36 clinical_document_header
37
38 There are four logical components of the CDA Header:
39 (1) Document information;
40 (2) Encounter data;
41 (3) Service actors (such as providers);
42 (4) Service targets (such as patients).
43
44 The four components are presented in this order, similar to their order
45 in the CDA Header Hierarchical Description.
46 ============================================================
47 ============================================================
48 -->
49
50 <!--
51 ============================================================
52 ============================================================
53 Document Information
54
55 Document information identifies the document, defines confidentiality
56 status, and describes relationships to other documents and orders.
57 ============================================================
1 Health Level Seven, © 2000. All rights reserved 34
2
1 ============================================================
2 -->
3
4 <!--
5 ============================================================
6 Document Information :: Document Identification
7
8 Elements declared in this section include:
9 <id>, <set_id>, <version_nbr>, <document_type_cd>
10 ============================================================
11 -->
12
13 <!ELEMENT id %II-cont.model;>
14 <!ATTLIST id
15 %II-attrib.list;
16 %common_atts;
17 HL7-NAME CDATA #FIXED 'id'>
18
19 <!ELEMENT set_id %II-cont.model;>
20 <!ATTLIST set_id
21 %II-attrib.list;
22 %common_atts;
23 HL7-NAME CDATA #FIXED 'set_id'>
24
25 <!ELEMENT version_nbr %INT-cont.model;>
26 <!ATTLIST version_nbr
27 %INT-attrib.list;
28 %common_atts;
29 HL7-NAME CDATA #FIXED 'version_nbr'>
30
31 <!ELEMENT document_type_cd %CE-cont.model;>
32 <!ATTLIST document_type_cd
33 %CE-attrib.list;
34 %common_atts;
35 HL7-NAME CDATA #FIXED 'service_cd'>
36
37 <!--
38 ============================================================
39 Document Information :: Document Time Stamps
40
41 Elements declared in this section include:
42 <service_tmr>, <origination_dttm>, <copy_dttm>
43 ============================================================
44 -->
45
46 <!ELEMENT service_tmr %GTS-cont.model;>
47 <!ATTLIST service_tmr
48 %GTS-attrib.list;
49 %common_atts;
50 HL7-NAME CDATA #FIXED 'service_tmr'>
51
52 <!ELEMENT origination_dttm %TS-cont.model;>
53 <!ATTLIST origination_dttm
54 %TS-attrib.list;
55 %common_atts;
56 HL7-NAME CDATA #FIXED 'origination_dttm'>
57
1 Health Level Seven, © 2000. All rights reserved 35
2
1 <!ELEMENT copy_dttm %TS-cont.model;>
2 <!ATTLIST copy_dttm
3 %TS-attrib.list;
4 %common_atts;
5 HL7-NAME CDATA #FIXED 'copy_dttm'>
6
7 <!--
8 ============================================================
9 Document Information :: Document Confidentiality
10
11 Elements declared in this section include:
12 <confidentiality_cd>
13 ============================================================
14 -->
15
16 <!ELEMENT confidentiality_cd %CE-cont.model;>
17 <!ATTLIST confidentiality_cd
18 %CE-attrib.list;
19 %common_atts;
20 HL7-NAME CDATA #FIXED 'confidentiality_cd'>
21
22 <!--
23 ============================================================
24 Document Information :: Document Relationships
25
26 Elements declared in this section include:
27 <document_relationship>, <document_relationship.type_cd>,
28 <related_document>, <fulfills_order>, <fulfills_order.type_cd>, <order>
29 ============================================================
30 -->
31
32 <!ELEMENT document_relationship (
33 document_relationship.type_cd,
34 related_document,
35 local_header*)>
36 <!ATTLIST document_relationship
37 %common_atts;
38 HL7-NAME CDATA #FIXED 'is_source_for_service_relationship'
39 T CDATA #FIXED 'service_relationship'>
40
41 <!ELEMENT document_relationship.type_cd %CS-cont.model;>
42 <!ATTLIST document_relationship.type_cd
43 T NMTOKEN #FIXED "CS"
44 V (APND|RPLC) #REQUIRED
45 V-T NMTOKEN #FIXED "ST"
46 V-HL7_NAME CDATA #FIXED "code"
47 DN CDATA #IMPLIED
48 DN-T NMTOKEN #FIXED "ST"
49 DN-HL7_NAME CDATA #FIXED "displayName"
50 %common_atts;
51 HL7-NAME CDATA #FIXED 'type_cd'>
52
53 <!ELEMENT related_document (
54 id,
55 set_id?,
56 version_nbr?,
57 local_header*)>
1 Health Level Seven, © 2000. All rights reserved 36
2
1 <!ATTLIST related_document
2 %common_atts;
3 HL7-NAME CDATA #FIXED 'has_target_service'
4 T CDATA #FIXED 'service'>
5
6 <!ELEMENT fulfills_order (
7 fulfills_order.type_cd,
8 order+,
9 local_header*)>
10 <!ATTLIST fulfills_order
11 %common_atts;
12 HL7-NAME CDATA #FIXED 'is_source_for_service_relationship'
13 T CDATA #FIXED 'service_relationship'>
14
15 <!ELEMENT fulfills_order.type_cd %CS-cont.model;>
16 <!ATTLIST fulfills_order.type_cd
17 T NMTOKEN #FIXED "CS"
18 V CDATA #FIXED "FLFS"
19 V-T NMTOKEN #FIXED "ST"
20 V-HL7_NAME CDATA #FIXED "code"
21 DN CDATA #IMPLIED
22 DN-T NMTOKEN #FIXED "ST"
23 DN-HL7_NAME CDATA #FIXED "displayName"
24 %common_atts;
25 HL7-NAME CDATA #FIXED 'type_cd'>
26
27 <!ELEMENT order (
28 id,
29 local_header*)>
30 <!ATTLIST order
31 %common_atts;
32 HL7-NAME CDATA #FIXED 'has_target_service'
33 T CDATA #FIXED 'service'>
34
35 <!--
36 ============================================================
37 ============================================================
38 Encounter Data
39
40 Encounter data describes the setting in which the documented encounter
41 occurred.
42
43 Elements declared in this section include:
44 <patient_encounter>, <practice_setting_cd>, <encounter_tmr>,
45 <service_location>, <addr>
46 ============================================================
47 ============================================================
48 -->
49
50 <!ELEMENT patient_encounter (
51 id?,
52 practice_setting_cd?,
53 encounter_tmr,
54 service_location?,
55 local_header*)>
56 <!ATTLIST patient_encounter
57 %common_atts;
1 Health Level Seven, © 2000. All rights reserved 37
2
1 HL7-NAME CDATA #FIXED 'is_assigned_to_patient_encounter'
2 T CDATA #FIXED 'patient_encounter'>
3
4 <!ELEMENT practice_setting_cd %CE-cont.model;>
5 <!ATTLIST practice_setting_cd
6 %CE-attrib.list;
7 %common_atts;
8 HL7-NAME CDATA #FIXED 'practice_setting_cd'>
9
10 <!ELEMENT encounter_tmr %IVL_TS-cont.model;>
11 <!ATTLIST encounter_tmr
12 %IVL_TS-attrib.list;
13 %common_atts;
14 HL7-NAME CDATA #FIXED 'encounter_tmr'>
15
16 <!ELEMENT service_location (
17 id?,
18 addr?,
19 local_header*)>
20 <!ATTLIST service_location
21 %common_atts;
22 HL7-NAME CDATA #FIXED 'has_master_patient_service_location'
23 T CDATA #FIXED 'master_patient_service_location'>
24
25 <!ELEMENT addr %AD-cont.model;>
26 <!ATTLIST addr
27 %AD-attrib.list;
28 %common_atts;
29 HL7-NAME CDATA #FIXED 'addr'>
30
31 <!--
32 ============================================================
33 ============================================================
34 Service Actors
35
36 Service actors include those who authenticate the document, those
37 intended to receive a copy of the document, document originators and
38 transcriptionists, and health care providers who participated in the
39 service(s) being documented.
40 ============================================================
41 ============================================================
42 -->
43
44 <!--
45 ============================================================
46 Service Actors :: People Responsible for a Clinical Document
47
48 Elements declared in this section include:
49 <person>, <person_name>, <effective_tmr>, <nm>, <person_name.type_cd>,
50 <telecom>
51 ============================================================
52 -->
53
54 <!ELEMENT person (
55 id+,
56 person_name*,
57 addr*,
1 Health Level Seven, © 2000. All rights reserved 38
2
1 telecom*,
2 local_header*)>
3 <!ATTLIST person
4 %common_atts;
5 HL7-NAME CDATA #FIXED 'participation_of_person'
6 T CDATA #FIXED 'person'>
7
8 <!ELEMENT person_name (
9 effective_tmr?,
10 nm,
11 person_name.type_cd?,
12 local_header*)>
13 <!ATTLIST person_name
14 %common_atts;
15 HL7-NAME CDATA #FIXED 'has_person_name'
16 T CDATA #FIXED 'person_name'>
17
18 <!ELEMENT effective_tmr %IVL_TS-cont.model;>
19 <!ATTLIST effective_tmr
20 %IVL_TS-attrib.list;
21 %common_atts;
22 HL7-NAME CDATA #FIXED 'effective_tmr'>
23
24 <!ELEMENT nm %PN-cont.model;>
25 <!ATTLIST nm
26 %PN-attrib.list;
27 %common_atts;
28 HL7-NAME CDATA #FIXED 'nm'>
29
30 <!ELEMENT person_name.type_cd %CE-cont.model;>
31 <!ATTLIST person_name.type_cd
32 %CE-attrib.list;
33 %common_atts;
34 HL7-NAME CDATA #FIXED 'type_cd'>
35
36 <!ELEMENT telecom %TEL-cont.model;>
37 <!ATTLIST telecom
38 %TEL-attrib.list;
39 %common_atts;
40 HL7-NAME CDATA #FIXED 'phon'>
41
42 <!--
43 ============================================================
44 Service Actors :: Authenticators
45
46 Elements declared in this section include:
47 <authenticator>, <authenticator.type_cd>, <participation_tmr>,
48 <signature_cd>, <legal_authenticator>, <legal_authenticator.type_cd>
49 ============================================================
50 -->
51
52 <!ELEMENT authenticator (
53 authenticator.type_cd,
54 participation_tmr,
55 signature_cd,
56 person,
57 local_header*)>
1 Health Level Seven, © 2000. All rights reserved 39
2
1 <!ATTLIST authenticator
2 %common_atts;
3 HL7-NAME CDATA #FIXED 'has_service_actor'
4 T CDATA #FIXED 'service_actor'>
5
6 <!ELEMENT authenticator.type_cd %CS-cont.model;>
7 <!ATTLIST authenticator.type_cd
8 T NMTOKEN #FIXED "CS"
9 V CDATA #FIXED "VRF"
10 V-T NMTOKEN #FIXED "ST"
11 V-HL7_NAME CDATA #FIXED "code"
12 DN CDATA #IMPLIED
13 DN-T NMTOKEN #FIXED "ST"
14 DN-HL7_NAME CDATA #FIXED "displayName"
15 %common_atts;
16 HL7-NAME CDATA #FIXED 'type_cd'>
17
18 <!ELEMENT participation_tmr %IVL_TS-cont.model;>
19 <!ATTLIST participation_tmr
20 %IVL_TS-attrib.list;
21 %common_atts;
22 HL7-NAME CDATA #FIXED 'tmr'>
23
24 <!ELEMENT signature_cd %CS-cont.model;>
25 <!ATTLIST signature_cd
26 T NMTOKEN #FIXED "CS"
27 V (S|X) "S"
28 V-T NMTOKEN #FIXED "ST"
29 V-HL7_NAME CDATA #FIXED "code"
30 DN CDATA #IMPLIED
31 DN-T NMTOKEN #FIXED "ST"
32 DN-HL7_NAME CDATA #FIXED "displayName"
33 %common_atts;
34 HL7-NAME CDATA #FIXED 'signature_cd'>
35
36 <!ELEMENT legal_authenticator (
37 legal_authenticator.type_cd,
38 participation_tmr,
39 signature_cd,
40 person,
41 local_header*)>
42 <!ATTLIST legal_authenticator
43 %common_atts;
44 HL7-NAME CDATA #FIXED 'has_service_actor'
45 T CDATA #FIXED 'service_actor'>
46
47 <!ELEMENT legal_authenticator.type_cd %CS-cont.model;>
48 <!ATTLIST legal_authenticator.type_cd
49 T NMTOKEN #FIXED "CS"
50 V CDATA #FIXED "SPV"
51 V-T NMTOKEN #FIXED "ST"
52 V-HL7_NAME CDATA #FIXED "code"
53 DN CDATA #IMPLIED
54 DN-T NMTOKEN #FIXED "ST"
55 DN-HL7_NAME CDATA #FIXED "displayName"
56 %common_atts;
57 HL7-NAME CDATA #FIXED 'type_cd'>
1 Health Level Seven, © 2000. All rights reserved 40
2
1
2 <!--
3 ============================================================
4 Service Actors :: Intended Recipients
5
6 Elements declared in this section include:
7 <intended_recipient>, <intended_recipient.type_cd>
8 ============================================================
9 -->
10
11 <!ELEMENT intended_recipient (
12 intended_recipient.type_cd,
13 person,
14 local_header*)>
15 <!ATTLIST intended_recipient
16 %common_atts;
17 HL7-NAME CDATA #FIXED 'has_service_actor'
18 T CDATA #FIXED 'service_actor'>
19
20 <!ELEMENT intended_recipient.type_cd %CS-cont.model;>
21 <!ATTLIST intended_recipient.type_cd
22 T NMTOKEN #FIXED "CS"
23 V CDATA #FIXED "TRC"
24 V-T NMTOKEN #FIXED "ST"
25 V-HL7_NAME CDATA #FIXED "code"
26 DN CDATA #IMPLIED
27 DN-T NMTOKEN #FIXED "ST"
28 DN-HL7_NAME CDATA #FIXED "displayName"
29 %common_atts;
30 HL7-NAME CDATA #FIXED 'type_cd'>
31
32 <!--
33 ============================================================
34 Service Actors :: Originators
35
36 Elements declared in this section include:
37 <originator>, <originator.type_cd>, <originating_organization>,
38 <originating_organization.type_cd>, <organization>, <organization.nm>
39 ============================================================
40 -->
41
42 <!ELEMENT originator (
43 originator.type_cd,
44 participation_tmr,
45 person,
46 local_header*)>
47 <!ATTLIST originator
48 %common_atts;
49 HL7-NAME CDATA #FIXED 'has_service_actor'
50 T CDATA #FIXED 'service_actor'>
51
52 <!ELEMENT originator.type_cd %CS-cont.model;>
53 <!ATTLIST originator.type_cd
54 T NMTOKEN #FIXED "CS"
55 V CDATA #FIXED "AUT"
56 V-T NMTOKEN #FIXED "ST"
57 V-HL7_NAME CDATA #FIXED "code"
1 Health Level Seven, © 2000. All rights reserved 41
2
1 DN CDATA #IMPLIED
2 DN-T NMTOKEN #FIXED "ST"
3 DN-HL7_NAME CDATA #FIXED "displayName"
4 %common_atts;
5 HL7-NAME CDATA #FIXED 'type_cd'>
6
7 <!ELEMENT originating_organization (
8 originating_organization.type_cd,
9 organization,
10 local_header*)>
11 <!ATTLIST originating_organization
12 %common_atts;
13 HL7-NAME CDATA #FIXED 'has_service_actor'
14 T CDATA #FIXED 'service_actor'>
15
16 <!ELEMENT originating_organization.type_cd %CS-cont.model;>
17 <!ATTLIST originating_organization.type_cd
18 T NMTOKEN #FIXED "CS"
19 V CDATA #FIXED "CST"
20 V-T NMTOKEN #FIXED "ST"
21 V-HL7_NAME CDATA #FIXED "code"
22 DN CDATA #IMPLIED
23 DN-T NMTOKEN #FIXED "ST"
24 DN-HL7_NAME CDATA #FIXED "displayName"
25 %common_atts;
26 HL7-NAME CDATA #FIXED 'type_cd'>
27
28 <!ELEMENT organization (
29 id*,
30 organization.nm*,
31 addr*,
32 local_header*)>
33 <!ATTLIST organization
34 %common_atts;
35 HL7-NAME CDATA #FIXED 'participation_of_organization'
36 T CDATA #FIXED 'organization'>
37
38 <!ELEMENT organization.nm %ON-cont.model;>
39 <!ATTLIST organization.nm
40 %ON-attrib.list;
41 %common_atts;
42 HL7-NAME CDATA #FIXED 'nm'>
43
44 <!--
45 ============================================================
46 Service Actors :: Transcriptionist
47
48 Elements declared in this section include:
49 <transcriptionist>, <transcriptionist.type_cd>
50 ============================================================
51 -->
52
53 <!ELEMENT transcriptionist (
54 transcriptionist.type_cd,
55 participation_tmr?,
56 person,
57 local_header*)>
1 Health Level Seven, © 2000. All rights reserved 42
2
1 <!ATTLIST transcriptionist
2 %common_atts;
3 HL7-NAME CDATA #FIXED 'has_service_actor'
4 T CDATA #FIXED 'service_actor'>
5
6 <!ELEMENT transcriptionist.type_cd %CS-cont.model;>
7 <!ATTLIST transcriptionist.type_cd
8 T NMTOKEN #FIXED "CS"
9 V CDATA #FIXED "ENT"
10 V-T NMTOKEN #FIXED "ST"
11 V-HL7_NAME CDATA #FIXED "code"
12 DN CDATA #IMPLIED
13 DN-T NMTOKEN #FIXED "ST"
14 DN-HL7_NAME CDATA #FIXED "displayName"
15 %common_atts;
16 HL7-NAME CDATA #FIXED 'type_cd'>
17
18 <!--
19 ============================================================
20 Service Actors :: Healthcare providers
21
22 Elements declared in this section include:
23 <provider>, <provider.type_cd>, <function_cd>
24 ============================================================
25 -->
26
27 <!ELEMENT provider (
28 provider.type_cd,
29 function_cd?,
30 participation_tmr?,
31 person,
32 local_header*)>
33 <!ATTLIST provider
34 %common_atts;
35 HL7-NAME CDATA #FIXED 'has_service_actor'
36 T CDATA #FIXED 'service_actor'>
37
38 <!ELEMENT provider.type_cd %CS-cont.model;>
39 <!ATTLIST provider.type_cd
40 T NMTOKEN #FIXED "CS"
41 V (ASS|CON|PRF) "PRF"
42 V-T NMTOKEN #FIXED "ST"
43 V-HL7_NAME CDATA #FIXED "code"
44 DN CDATA #IMPLIED
45 DN-T NMTOKEN #FIXED "ST"
46 DN-HL7_NAME CDATA #FIXED "displayName"
47 %common_atts;
48 HL7-NAME CDATA #FIXED 'type_cd'>
49
50 <!ELEMENT function_cd %CE-cont.model;>
51 <!ATTLIST function_cd
52 %CE-attrib.list;
53 %common_atts;
54 HL7-NAME CDATA #FIXED 'function_cd'>
55
56 <!--
57 ============================================================
1 Health Level Seven, © 2000. All rights reserved 43
2
1 Service Actors :: Other Service Actors
2
3 Elements declared in this section include:
4 <service_actor>, <service_actor.type_cd>
5 ============================================================
6 -->
7
8 <!ELEMENT service_actor (
9 service_actor.type_cd,
10 participation_tmr?,
11 signature_cd?,
12 (person | organization),
13 local_header*)>
14 <!ATTLIST service_actor
15 %common_atts;
16 HL7-NAME CDATA #FIXED 'has_service_actor'
17 T CDATA #FIXED 'service_actor'>
18
19 <!ELEMENT service_actor.type_cd %CE-cont.model;>
20 <!ATTLIST service_actor.type_cd
21 %CE-attrib.list;
22 %common_atts;
23 HL7-NAME CDATA #FIXED 'type_cd'>
24
25 <!--
26 ============================================================
27 ============================================================
28 Service Targets
29
30 Service targets include the patient, other significant participants
31 (such as family members), and those devices that may have originated
32 portions of the document.
33 ============================================================
34 ============================================================
35 -->
36
37 <!--
38 ============================================================
39 Service Targets :: Patient
40
41 Elements declared in this section include:
42 <patient>, <patient.type_cd>, <assigned_identifier>, <is_known_by>,
43 <birth_dttm>, <administrative_gender_cd>
44 ============================================================
45 -->
46
47 <!ELEMENT patient (
48 patient.type_cd,
49 participation_tmr?,
50 person,
51 is_known_by*,
52 birth_dttm?,
53 administrative_gender_cd?,
54 local_header*)>
55 <!ATTLIST patient
56 %common_atts;
57 HL7-NAME CDATA #FIXED 'has_service_target'
1 Health Level Seven, © 2000. All rights reserved 44
2
1 T CDATA #FIXED 'service_target'>
2
3 <!ELEMENT patient.type_cd %CS-cont.model;>
4 <!ATTLIST patient.type_cd
5 T NMTOKEN #FIXED "CS"
6 V (PAT|PATSBJ) "PATSBJ"
7 V-T NMTOKEN #FIXED "ST"
8 V-HL7_NAME CDATA #FIXED "code"
9 DN CDATA #IMPLIED
10 DN-T NMTOKEN #FIXED "ST"
11 DN-HL7_NAME CDATA #FIXED "displayName"
12 %common_atts;
13 HL7-NAME CDATA #FIXED 'type_cd'>
14
15 <!ELEMENT is_known_by (
16 id+,
17 is_known_to,
18 local_header*)>
19 <!ATTLIST is_known_by
20 %common_atts;
21 HL7-NAME CDATA #FIXED 'is_known_by'
22 T CDATA #FIXED 'person_provider_association'>
23
24 <!ELEMENT is_known_to (
25 id+,
26 local_header*)>
27 <!ATTLIST is_known_to
28 %common_atts;
29 HL7-NAME CDATA #FIXED 'is_known_to'
30 T CDATA #FIXED 'healthcare_service_provider'>
31
32 <!ELEMENT birth_dttm %TS-cont.model;>
33 <!ATTLIST birth_dttm
34 %TS-attrib.list;
35 %common_atts;
36 HL7-NAME CDATA #FIXED 'birth_dttm'>
37
38 <!ELEMENT administrative_gender_cd %CE-cont.model;>
39 <!ATTLIST administrative_gender_cd
40 %CE-attrib.list;
41 %common_atts;
42 HL7-NAME CDATA #FIXED 'administrative_gender_cd'>
43
44 <!--
45 ============================================================
46 Service Targets :: Originating Device
47
48 Elements declared in this section include:
49 <originating_device>, <originating_device.type_cd>, <device>,
50 <responsibility>, <responsibility.type_cd>, <responsibility_tmr>
51 ============================================================
52 -->
53
54 <!ELEMENT originating_device (
55 originating_device.type_cd,
56 participation_tmr?,
57 device,
1 Health Level Seven, © 2000. All rights reserved 45
2
1 local_header*)>
2 <!ATTLIST originating_device
3 %common_atts;
4 HL7-NAME CDATA #FIXED 'has_service_target'
5 T CDATA #FIXED 'service_target'>
6
7 <!ELEMENT originating_device.type_cd %CS-cont.model;>
8 <!ATTLIST originating_device.type_cd
9 T NMTOKEN #FIXED "CS"
10 V CDATA #FIXED "ODV"
11 V-T NMTOKEN #FIXED "ST"
12 V-HL7_NAME CDATA #FIXED "code"
13 DN CDATA #IMPLIED
14 DN-T NMTOKEN #FIXED "ST"
15 DN-HL7_NAME CDATA #FIXED "displayName"
16 %common_atts;
17 HL7-NAME CDATA #FIXED 'type_cd'>
18
19 <!ELEMENT device (
20 id+,
21 responsibility*,
22 local_header*)>
23 <!ATTLIST device
24 %common_atts;
25 HL7-NAME CDATA #FIXED 'participation_of_material'
26 T CDATA #FIXED 'device'>
27
28 <!ELEMENT responsibility (
29 responsibility.type_cd?,
30 responsibility_tmr?,
31 person,
32 local_header*)>
33 <!ATTLIST responsibility
34 %common_atts;
35 HL7-NAME CDATA #FIXED 'is_the_responsibility'
36 T CDATA #FIXED 'responsibility'>
37
38 <!ELEMENT responsibility.type_cd %CE-cont.model;>
39 <!ATTLIST responsibility.type_cd
40 %CE-attrib.list;
41 %common_atts;
42 HL7-NAME CDATA #FIXED 'type_cd'>
43
44 <!ELEMENT responsibility_tmr %IVL_TS-cont.model;>
45 <!ATTLIST responsibility_tmr
46 %IVL_TS-attrib.list;
47 %common_atts;
48 HL7-NAME CDATA #FIXED 'tmr'>
49
50 <!--
51 ============================================================
52 Service Targets :: Other Service Targets
53
54 Elements declared in this section include:
55 <service_target>, <service_target.type_cd>
56 ============================================================
57 -->
1 Health Level Seven, © 2000. All rights reserved 46
2
1
2 <!ELEMENT service_target (
3 service_target.type_cd,
4 participation_tmr?,
5 person,
6 local_header*)>
7 <!ATTLIST service_target
8 %common_atts;
9 HL7-NAME CDATA #FIXED 'has_service_target'
10 T CDATA #FIXED 'service_target'>
11
12 <!ELEMENT service_target.type_cd %CE-cont.model;>
13 <!ATTLIST service_target.type_cd
14 %CE-attrib.list;
15 %common_atts;
16 HL7-NAME CDATA #FIXED 'type_cd'>
17
18 <!--
19 ============================================================
20 ============================================================
21 Local Header Information
22
23 Locally-defined markup must be used when local semantics have no
24 corresponding representation in the CDA specification. CDA seeks to
25 standardize the highest level of shared meaning while providing a clean
26 and standard mechanism for tagging meaning that is not shared. This is
27 achieved with the CDA <local_header> element.
28
29 The <local_header> element is optionally repeating, and recursive. The
30 "descriptor" attribute describes the element, and the value can be drawn
31 from a local vocabulary domain. The "ignore" attribute tells the
32 receiver to ignore just the <local_header> tag (ignore="markup"), or to
33 ignore the <local_header> tag and all contained content (ignore="all").
34 The "render" attribute indicates how the sender would render the
35 contents. The value can be drawn from a local vocabulary domain. The
36 language of contained character data can be specified using the xml:lang
37 attribute (see 3.3.2.4.1 Character data). The nested <local_attr>
38 element is provided to make it easier to map local XML attribute values
39 into local markup.
40 ============================================================
41 ============================================================
42 -->
43
44 <!ELEMENT local_header (#PCDATA | local_header | local_attr)* >
45 <!ATTLIST local_header
46 ignore (all | markup) "markup"
47 descriptor CDATA #IMPLIED
48 render CDATA #IMPLIED
49 %common_atts;
50 xml:lang NMTOKEN #IMPLIED >
51
52 <!ELEMENT local_attr EMPTY>
53 <!ATTLIST local_attr
54 name NMTOKEN #REQUIRED
55 value CDATA #REQUIRED
56 %common_atts;
57 xml:lang NMTOKEN #IMPLIED>
1 Health Level Seven, © 2000. All rights reserved 47
2
1 3.3 CDA Level One Body
2 3.3.1 Overview
3 The CDA element <levelone> is the root element of a CDA Level One document. The <levelone> element
4 contains a <clinical_document_header> and a <body>. The <clinical_document_header> is derived from
5 the RIM, as described in detail above (see 3.2 CDA Header). The <body> is comprised of either <section>
6 elements, or a <non_xml> element, which is used when the document body is in some format other then
7 XML. A CDA <section> can contain "structures", nested <section> elements, and <coded_entry> elements.
8 CDA structures include the <paragraph>, <list>, and <table> elements. These structures contain CDA
9 "entries", which include the <content>, <link>, <coded_entry>, <observation_media>, and
10 <local_markup> elements, in addition to plain character data.
11
12 Where CDA entries are derivable from the RIM, as is currently only the case for the <observation_media>
13 element, they have an associated Hierarchical Description (HD) and an XML representation that follows
14 the style used for the CDA Header.
15
16 Document analysis was used to articulate requirements for the CDA Level One Body. These are expressed
17 in XML using industry-standard constructs. The structural components themselves are not part of RIM
18 0.98. The Unified Modeling Language (UML) model of the CDA Level One Body included in the
19 appendix (see 5.2 CDA Level One Body UML model) is presented as a non-normative tool to aid in
20 understanding the XML DTD.
29 3.3.2.1.2 Confidentiality
30 The confidentiality attribute can occur on any element within the CDA body. The CDA Header contains an
31 optionally repeating element <confidentiality_cd> (see 3.2.2.2.3 Document confidentiality). The
32 confidentiality attribute on CDA Body elements can reference one or more of the confidentiality values in
33 the CDA Header using XML IDREFS. The value(s) referenced must be XML ID(s) in the
34 <confidentiality_cd> element of the CDA Header. Confidentiality is inherited by nested content, unless
35 overridden.
36
37 Figure 6. XML confidentiality attribute
38 <!ATTLIST Every_CDA_ELEMENT
39 ...
41 ...>
42 3.3.2.1.3 Originators
2
1 The originator attribute can occur on any element within the CDA body. The CDA Header contains
2 optionally repeating elements <originator> (see 3.2.2.4.4.1 Originating person) and <originating_device>
3 (see 3.2.2.5.2 Originating device). The originator attribute on an element within the CDA Body can
4 reference one or more of these values using XML IDREFS. The value(s) referenced must be XML ID(s) in
5 the <originator> or <originating_device> element of the CDA Header. Origination is inherited by nested
6 content, unless overridden.
7
8 Figure 7. XML originator attribute
9 <!ATTLIST Every_CDA_ELEMENT
10 ...
12 ...>
13 3.3.2.1.4 Language
14 The human language of character data can be specified using the xml:lang attribute as defined in the XML
15 1.0 Recommendation:
16
17 "A special attribute named xml:lang may be inserted in documents to specify the language used in
18 the contents and attribute values of any element in an XML document. In valid documents, this
19 attribute, like any other, must be declared if it is used. The values of the attribute are language
20 identifiers as defined by the IETF (Internet Engineering Task Force) RFC 1766: Tags for the
21 Identification of Languages, ed. H. Alvestrand. 1995."
22
23 The value of the xml:lang attribute is inherited by nested content, unless overridden.
24
25 Figure 8. XML xml:lang attribute
26 <!ATTLIST Every_CDA_ELEMENT
27 ...
29 ...>
30
2
1 Figure 9. XML content model of <body>
3 <!ATTLIST body
4 ID ID #IMPLIED
22 <!ATTLIST section
23 ID ID #IMPLIED
27 3.3.2.2.2.1 Captions
28 The CDA <caption> is a label for a container. The <caption> element can occur in a <section>,
29 <paragraph>, <list>, <item>, or <table> element. A <caption> contains plain text and may contain links
30 (see 3.3.2.4.3 Links), and can be coded using the <caption_cd> element. A <caption_cd> is optional and
31 non-repeatable, and must occur first within a <caption>16. The vocabulary domain for <caption_cd>,
32 DocumentSectionType, is externally-defined by LOINC. Example <caption_cd> values, drawn from the
33 DocumentSectionType vocabulary domain, are shown in the following table.
34
35 Table 25. Example concepts for <caption_cd> (CWE)
Code Display Name Code System Code System Name
10154-3 Chief complaint 2.16.840.1.113883.6.1 LOINC
10155-0 History of allergies 2.16.840.1.113883.6.1 LOINC
10156-8 History of childhood 2.16.840.1.113883.6.1 LOINC
diseases
10157-6 History of family 2.16.840.1.113883.6.1 LOINC
member diseases
11349-8 History of past 2.16.840.1.113883.6.1 LOINC
1 16
Note that the XML DTD does not express this constraint in such a way that a validating XML processor
2 can enforce conformance.
3 Health Level Seven, © 2000. All rights reserved 50
4
illness
10167-5 History of surgical 2.16.840.1.113883.6.1 LOINC
procedures
10182-4 History of travel 2.16.840.1.113883.6.1 LOINC
11384-5 Physical 2.16.840.1.113883.6.1 LOINC
examination
10187-3 Review of systems 2.16.840.1.113883.6.1 LOINC
8716-3 Vital signs 2.16.840.1.113883.6.1 LOINC
1
2 Each <caption> has an optional local identifier (see 3.3.2.1.1 XML element identification), an optional set
3 of confidentiality status flags (see 3.3.2.1.2 Confidentiality), and an optional set of originators (see 3.3.2.1.3
4 Originators). The human language of contained character data can be specified using the xml:lang attribute
5 (see 3.3.2.1.4 Language).
6
7 Figure 11. XML content model of <caption>
9 <!ATTLIST caption
10 ID ID #IMPLIED
15 <!ATTLIST caption_cd
16 %CE-attrib.list;
17 ID ID #IMPLIED
2
1 Figure 12. XML content model of <non_xml>
3 <!ATTLIST non_xml
4 %ED-attrib.list;
5 ID ID #IMPLIED
10 3.3.2.3.1 Paragraphs
11 The CDA <paragraph> can occur in a <section>, <item>, or table cell (<td>). A <paragraph> has an
12 optional <caption> (see 3.3.2.2.2.1 Captions), followed by zero or more <content> elements (see 3.3.2.4.2
13 Content).
14
15 Each <paragraph> has an optional local identifier (see 3.3.2.1.1 XML element identification), an optional
16 set of confidentiality status flags (see 3.3.2.1.2 Confidentiality), and an optional set of originators (see
17 3.3.2.1.3 Originators). The human language of contained character data can be specified using the xml:lang
18 attribute (see 3.3.2.1.4 Language).
19
20 Figure 13. XML content model of <paragraph>
22 <!ATTLIST paragraph
23 ID ID #IMPLIED
2
1 Each <item> has an optional local identifier (see 3.3.2.1.1 XML element identification), an optional set of
2 confidentiality status flags (see 3.3.2.1.2 Confidentiality), and an optional set of originators (see 3.3.2.1.3
3 Originators). The human language of contained character data can be specified using the xml:lang attribute
4 (see 3.3.2.1.4 Language).
5
6 Figure 14. XML content model of <list> and <item>
8 <!ATTLIST list
10 ID ID #IMPLIED
15 <!ATTLIST item
16 ID ID #IMPLIED
2
1 Figure 15. Changes to the strict XHTML table model in CDA
2 Change this:
4 To this:
6
7 Change these XML attributes:
8 %attrs;
9 To these:
10 ID ID #IMPLIED
14
15 Change this:
16 <!ELEMENT td %Flow;>
17 to this:
20
21 change this:
22 <!ELEMENT th %Flow;>
23 to this:
29 3.3.2.4.2 Content
30 CDA <content> occurs in <local_markup>, table cells (<td>), <paragraph>, <item>, and nested within
31 <content>. The <content> element contains zero or more entries (see 3.3.2.4 Document Entries).
32
33 The <content> element can nest recursively, which enables wrapping a string of plain text down to as small
34 a chunk as desired. These <content> elements can serve as anchors, and <coded_entry.value> elements can
35 reference these anchors to indicate the original text that supports the use of a coded entry. (See 3.3.2.4.4
36 Coded entries for more detail.)
37
2
1 Each <content> element has an optional local identifier (see 3.3.2.1.1 XML element identification), an
2 optional set of confidentiality status flags (see 3.3.2.1.2 Confidentiality), and an optional set of originators
3 (see 3.3.2.1.3 Originators). The human language of contained character data can be specified using the
4 xml:lang attribute (see 3.3.2.1.4 Language).
5
6 Figure 16. XML content model of <content>
9 <!ATTLIST content
10 ID ID #IMPLIED
14 3.3.2.4.3 Links
15 The CDA <link> is a generic referencing mechanism and occurs within <content>, <local_markup>, table
16 cells (<td>), or <caption>. A <link> contains a single required <link_html> element.
17
18 Each <link> has an optional local identifier (see 3.3.2.1.1 XML element identification), an optional set of
19 confidentiality status flags (see 3.3.2.1.2 Confidentiality), and an optional set of originators (see 3.3.2.1.3
20 Originators). The human language of contained character data can be specified using the xml:lang attribute
21 (see 3.3.2.1.4 Language).
22
23 The CDA <link_html> can only occur within a <link>. Each <link_html> has an optional local identifier
24 (see 3.3.2.1.1 XML element identification), an optional set of confidentiality status flags (see 3.3.2.1.2
25 Confidentiality), and an optional set of originators (see 3.3.2.1.3 Originators). The human language of
26 contained character data can be specified using the xml:lang attribute (see 3.3.2.1.4 Language).
27
28 The CDA link mechanism is based on the HTML anchor tag. Several groups (see 5.4 References) are
29 actively developing formal link specifications. When a suitable open standard is available and
30 implemented, it will be reviewed with the intent to incorporate it into the CDA Level One specification.
31
32 Multimedia that is integral to a document, and part of the attestable content of the document requires the
33 use of <observation_media> (see 3.3.2.4.5 Observation media). Multimedia that is simply referenced by the
34 document and not an integral part of the document should use <link>.
35
2
1 Figure 17. XML content model of <link> and <link_html>
3 <!ATTLIST link
4 ID ID #IMPLIED
9 <!ATTLIST link_html
15 ID ID #IMPLIED
2
Code Display Name Code System Code System Name
C:PT:BLD
5196-1 HEPATITIS B 2.16.840.1.113883.6.1 LOINC
VIRUS SURFACE
AG:ACNC:PT:SER
14909-6 SALICYLATES:SC 2.16.840.1.113883.6.1 LOINC
NC:PT:SER/PLAS
2428-1 HOMOCYSTEINE: 2.16.840.1.113883.6.1 LOINC
MCNC:PT:PLAS
997.61 Neuroma of 2.16.840.1.113883.6.3 ICD9CM
amputation stump
253.6 Syndrome of 2.16.840.1.113883.6.3 ICD9CM
inappropriate ADH
production
836.60 Open dislocation of 2.16.840.1.113883.6.3 ICD9CM
knee
1
2 Figure 18. XML content model of <coded_entry>
5 <!ATTLIST coded_entry
6 ID ID #IMPLIED
11 <!ATTLIST coded_entry.id
12 %II-attrib.list;
13 ID ID #IMPLIED >
15 <!ATTLIST coded_entry.value
16 %CD-attrib.list;
17 ID ID #IMPLIED >
18
19 The <coded_entry.value> element can explicitly reference the original text within the document that
20 supports the use of the code. The process involves:
21
22 Assign a value to the XML ID attribute of the element that wraps the #PCDATA to be referenced.
23 (Because the <content> element is recursive, you can wrap as small a chunk of text as you want.)
24
25 The original text attribute (ORIGTXT) of the CD data type references the appropriate ID attribute.
26
27 The <coded_entry.value> element can be located in any legal position in the document.
28
2
1 Figure 19. Referencing original text with <coded_entry>17
4 <content>
7 <coded_entry>
8 <coded_entry.value
9 V="D2-51000" S="2.16.840.1.113883.6.5" DN="Asthma"/>
10 </coded_entry>
11 </content>
12
13 In the second case, <coded_entry> explicitly references the
14 original text that supports the assigned code:
15 <content>
19 <coded_entry>
20 <coded_entry.value ORIGTXT="String001"
21 V="D2-51000" S="2.16.840.1.113883.6.5" DN="Asthma"/>
22 </coded_entry>
23 </content>
24
25
1 17
Note that the exact mechanism and representation of intra-document referencing is contingent on the
2 outcome of the HL7 Version 3 Data Types, Release 1 DTD ballot.
3 Health Level Seven, © 2000. All rights reserved 58
4
1 3.3.2.4.5 Observation media
2 The <observation_media> element represents media that is logically a part of a CDA document, but is stored outside the document and incorporated by
3 reference. Multimedia that is integral to a document, and part of the attestable content of the document, requires the use of <observation_media>. Multimedia
4 that is simply referenced by the document and not an integral part of the document should use <link> (see 3.3.2.4.3 Links). Note that CDA's
5 <observation_media> is used only to reference data that is stored externally.
6
7 The CDA element <observation_media> is derived from the RIM Observation class. The <observation_media> element can occur in <content>, table cells
8 (<td>), or <local_markup>. An <observation_media> contains an optional instance identifier, <observation_media.id>, and a value, <observation_media.value>,
9 which is modeled as an HL7 encoded data (ED) data type.
10
11 The CDA does not take advantage of ED's ability to Base64 encode images and other observation media and include them directly in a document instance file.
12 Several groups (see 5.4 References) are actively developing formal specifications for packaging binary data within XML documents. When a suitable open
13 standard for direct incorporation of binary data is available and implemented, it will be incorporated into the CDA Level One specification.
14
15 Each <observation_media> has an optional local identifier (see 3.3.2.1.1 XML element identification), an optional set of confidentiality status flags (see 3.3.2.1.2
16 Confidentiality), and an optional set of originators (see 3.3.2.1.3 Originators). The human language of contained character data can be specified using the
17 xml:lang attribute (see 3.3.2.1.4 Language).
18
19 Table 27. Hierarchical description of <observation_media>
Row Row Class or RIM RIM XML in XML Element Source Data Type Car Vocabulary Coding Man- De- Con-
# Type Property of Source Element Element of dina Domain Strngth datory fault straint
Class Class Name Name Element lity * Value #
(Attribute of
Association)
1. class observation observation observation_ observation_media observation_ N observation 1..1 M
as_ media _media
observation_
media
2. attr id observation id observation_media. observation_ D II 0..1 M
id media
3. attr value observation value observation_media. observation_ D ED 1..1 M
value media
20
21 * Abbreviations used in Hierarchical Description
22
Abbreviation Appears in column Definition
M Mandatory If an element is present, it may not contain a null value. Note that the column labeled "cardinality" determines
5 <!ATTLIST observation_media
6 ID ID #IMPLIED
11 <!ATTLIST observation_media.id
12 %II-attrib.list;
13 ID ID #IMPLIED >
15 <!ATTLIST observation_media.value
16 %ED-attrib.list;
17 ID ID #IMPLIED >
18
24 <!ATTLIST local_markup
28 ID ID #IMPLIED
33 <!ATTLIST local_attr
36 ID ID #IMPLIED
38
2
1 3.3.3 XML Document Type Definition
2 <!--
3 ============================================================
4 ============================================================
5 HL7 Clinical Document Architecture, Version 1.0
6
7 CDA Level One DTD
8
9 Public Identifier :: "-//HL7//DTD CDA Level One 1.0//EN"
10
11 DTD Last Revised: September 18, 2000
12 ============================================================
13 ============================================================
14 -->
15
16
17 <!--
18 ============================================================
19 ============================================================
20 The following system id must be changed to point to the location of the
21 Header file on your system.
22 ============================================================
23 ============================================================
24 -->
25
26 <!ENTITY % CDA-Header-1.0 PUBLIC
27 "-//HL7//DTD CDA Header 1.0//EN"
28 "header_1.0.dtd" >
29 %CDA-Header-1.0;
30
31
32 <!--
33 ============================================================
34 ============================================================
35 Shared XML attributes
36
37 XML element identification
38 Every XML element within a CDA document has an optional identifier,
39 which must be unique within the document. (See 3.2.2.1.1 XML element
40 identification). (This attribute is declared in the CDA Header DTD.)
41
42 Confidentiality
43 The confidentiality attribute can occur on any element within the CDA
44 body. The CDA Header contains an optionally repeating element
45 <confidentiality_cd> (see 3.2.2.2.3 Document confidentiality). The
46 confidentiality attribute on CDA Body elements can reference one or more
47 of the confidentiality values in the CDA Header using XML IDREFS. The
48 value(s) referenced must be XML ID(s) in the <confidentiality_cd>
49 element of the CDA Header. Confidentiality is inherited by nested
50 content, unless overridden.
51
52 Originators
53 The originator attribute can occur on any element within the CDA body.
54 The CDA Header contains optionally repeating elements <originator> (see
55 3.2.2.4.4.1 Originating person) and <originating_device> (see 3.2.2.5.2
2
1 Originating device). The originator attribute on an element within the
2 CDA Body can reference one or more of these values using XML IDREFS. The
3 value(s) referenced must be XML ID(s) in the <originator> or
4 <originating_device> element of the CDA Header. Origination is inherited
5 by nested content, unless overridden.
6 ============================================================
7 ============================================================
8 -->
9
10 <!ENTITY % body_atts "
11 %common_atts;
12 originator IDREFS #IMPLIED
13 confidentiality IDREFS #IMPLIED
14 xml:lang NMTOKEN #IMPLIED
15 ">
16
17 <!ENTITY % entries "#PCDATA | content | link | coded_entry |
18 observation_media | local_markup">
19
20 <!ENTITY % structures "paragraph | list | table">
21
22
23 <!--
24 ============================================================
25 ============================================================
26 Level One Root
27
28 The CDA element <levelone> is the root element of a CDA Level One
29 document. The <levelone> element contains a <clinical_document_header>
30 and a <body>. The <clinical_document_header> is derived from the RIM
31 (see 3.2 CDA Header). The <body> is comprised of either <section>
32 elements, or a <non_xml> element, which is used when the document body
33 is in some format other then XML. A CDA <section> can contain
34 "structures", nested <section> elements, and <coded_entry> elements. CDA
35 structures include the <paragraph>, <list>, and <table> elements. These
36 structures contain CDA "entries", which include the <content>, <link>,
37 <coded_entry>, <observation_media>, and <local_markup> elements, in
38 addition to plain character data.
39 ============================================================
40 ============================================================
41 -->
42
43 <!ELEMENT levelone (clinical_document_header, body) >
44 <!ATTLIST levelone
45 %body_atts;
46 >
47
48
49 <!--
50 ============================================================
51 ============================================================
52 Document body and sections
53
54 The CDA <body> occurs in the <levelone> element. All CDA documents have
55 exactly one <body>. The <body> contains either one or more <section>
56 elements (see 3.3.2.2.2 Document sections) or a single non_xml data
57 segment (see 3.3.2.2.3 Non_xml body).
1 Health Level Seven, © 2000. All rights reserved 63
2
1
2 The CDA <section> is a container used to wrap other containers. A
3 <section> can occur in the <body>, or can be nested within another
4 <section>. A <section> has an optional <caption> (see 3.3.2.2.2.1
5 Captions), followed by nested <section> elements or structures (see
6 3.3.2.3 Document Structures), followed by optionally repeating
7 <coded_entry> elements (see 3.3.2.4.4 Coded entries).
8
9 The CDA <non_xml> container represents a document body that is in some
10 format other than XML. CDA's <non_xml> is an encoded data type (ED),
11 which is used only to reference data that is stored externally to the
12 CDA Level One document.
13 ============================================================
14 ============================================================
15 -->
16
17 <!ELEMENT body (section+ | non_xml) >
18 <!ATTLIST body
19 %body_atts;
20 >
21
22 <!ELEMENT section (caption?,(%structures; | section)*, coded_entry*)>
23 <!ATTLIST section
24 %body_atts;
25 >
26
27 <!ELEMENT non_xml %ED-cont.model;>
28 <!ATTLIST non_xml
29 %common_atts;
30 originator IDREFS #IMPLIED
31 confidentiality IDREFS #IMPLIED
32 %ED-attrib.list;
33 >
34
35
36 <!--
37 ============================================================
38 ============================================================
39 Entries:
40 content, link, coded_entry, observation_media, local_markup
41
42 ============================================================
43 ============================================================
44 -->
45
46 <!--
47 ============================================================
48 content
49
50 CDA <content> occurs in <local_markup>, table cells (<td>), <paragraph>,
51 <item>, and nested within <content>. The <content> element contains zero
52 or more entries (see 3.3.2.4 Document Entries).
53
54 The <content> element can nest recursively, which enables wrapping a
55 string of plain text down to as small a chunk as desired. These
56 <content> elements can serve as anchors, and <coded_entry.value>
57 elements can reference these anchors to indicate the original text that
1 Health Level Seven, © 2000. All rights reserved 64
2
1 supports the use of a coded entry. (See 3.3.2.4.4 Coded entries for more
2 detail.)
3 ============================================================
4 -->
5
6 <!ELEMENT content (%entries;)*>
7 <!ATTLIST content
8 %body_atts;
9 >
10
11
12 <!--
13 ============================================================
14 link
15
16 The CDA <link> is a generic referencing mechanism and occurs within
17 <content>, <local_markup>, table cells (<td>), or <caption>. A <link>
18 contains a single required <link_html> element.
19
20 The CDA <link_html> can only occur within a <link>. Each <link_html> has
21 an optional local identifier (see 3.3.2.1.1 XML element identification),
22 an optional set of confidentiality status flags (see 3.3.2.1.2
23 Confidentiality), and an optional set of originators (see 3.3.2.1.3
24 Originators). The human language of contained character data can be
25 specified using the xml:lang attribute (see 3.3.2.1.4 Language).
26
27 The CDA link mechanism is based on the HTML anchor tag. Several groups
28 (see 5.4 References) are actively developing formal link specifications.
29 When a suitable open standard is available and implemented, it will be
30 reviewed with the intent to incorporate it into the CDA Level One
31 specification.
32
33 Multimedia that is integral to a document, and part of the attestable
34 content of the document requires the use of <observation_media> (see
35 3.3.2.4.5 Observation media). Multimedia that is simply referenced by
36 the document and not an integral part of the document should use <link>.
37 ============================================================
38 -->
39
40 <!ELEMENT link (link_html) >
41 <!ATTLIST link
42 %body_atts;
43 >
44
45 <!ELEMENT link_html (#PCDATA) >
46 <!ATTLIST link_html
47 name CDATA #IMPLIED
48 href CDATA #IMPLIED
49 rel CDATA #IMPLIED
50 rev CDATA #IMPLIED
51 title CDATA #IMPLIED
52 %body_atts;
53 >
54
55
56 <!--
57 ============================================================
1 Health Level Seven, © 2000. All rights reserved 65
2
1 coded_entry
2
3 The CDA element <coded_entry> inserts codes from HL7-recognized coding
4 schemes into CDA documents. Where there are no suitable HL7-recognized
5 codes available, locally-defined codes can be used. The use of
6 <coded_entry> in CDA Level One is unrestricted, and the primary intent
7 of <coded_entry> is to facilitate document indexing, search and
8 retrieval, and to provide a standard convention for insertion of
9 locally-meaningful codes.
10
11 The <coded_entry.value> element can explicitly reference the original
12 text within the document that supports the use of the code.
13 ============================================================
14 -->
15
16 <!ELEMENT coded_entry (coded_entry.id?, coded_entry.value,
17 local_markup*)>
18 <!ATTLIST coded_entry
19 %body_atts;>
20
21 <!ELEMENT coded_entry.id %II-cont.model;>
22 <!ATTLIST coded_entry.id
23 %common_atts;
24 %II-attrib.list; >
25
26 <!ELEMENT coded_entry.value %CD-cont.model;>
27 <!ATTLIST coded_entry.value
28 %CD-attrib.list;
29 %common_atts;>
30
31 <!--
32 ============================================================
33 observation_media
34
35 The <observation_media> element represents media that is logically a
36 part of a CDA document, but is stored outside the document and
37 incorporated by reference. Multimedia that is integral to a document,
38 and part of the attestable content of the document, requires the use of
39 <observation_media>. Multimedia that is simply referenced by the
40 document and not an integral part of the document should use <link> (see
41 3.3.2.4.3 Links). Note that CDA's <observation_media> is used only to
42 reference data that is stored externally.
43
44 The CDA does not take advantage of ED's ability to Base64 encode images
45 and other observation media and include them directly in a document
46 instance file. Several groups (see 5.4 References) are actively
47 developing formal specifications for packaging binary data within XML
48 documents. When a suitable open standard for direct incorporation of
49 binary data is available and implemented, it will be incorporated into
50 the CDA Level One specification.
51 ============================================================
52 -->
53
54 <!ELEMENT observation_media (observation_media.id?,
55 observation_media.value, local_markup*)>
56 <!ATTLIST observation_media
57 %body_atts;
1 Health Level Seven, © 2000. All rights reserved 66
2
1 HL7-NAME CDATA #FIXED 'observation'
2 T CDATA #FIXED 'observation'>
3
4 <!ELEMENT observation_media.id %II-cont.model;>
5 <!ATTLIST observation_media.id
6 %common_atts;
7 %II-attrib.list;
8 HL7-NAME CDATA #FIXED 'id'>
9
10 <!ELEMENT observation_media.value %ED-cont.model;>
11 <!ATTLIST observation_media.value
12 %common_atts;
13 %ED-attrib.list;
14 HL7-NAME CDATA #FIXED 'value'>
15
16
17 <!--
18 ============================================================
19 local_markup
20
21 The implementation of localization in the CDA Level One Body using the
22 <local_markup> element parallels the implementation described for the
23 CDA Header (see 3.2.2.6 Localization).
24
25 The descriptor attribute describes the element, and the value can be
26 drawn from a local vocabulary domain. The ignore attribute tells the
27 receiver to ignore just the <local_markup> tag (ignore="markup"), or to
28 ignore the <local_markup> tag and all contained content (ignore="all").
29 The render attribute indicates how the sender would render the contents.
30 The value can be drawn from a local vocabulary domain. The nested
31 <local_attr> element makes it easier to map local XML attribute values
32 into the CDA.
33 ============================================================
34 -->
35
36 <!ELEMENT local_markup (%entries; | local_attr)* >
37 <!ATTLIST local_markup
38 ignore (all | markup) "markup"
39 descriptor CDATA #IMPLIED
40 render CDATA #IMPLIED
41 %body_atts;
42 >
43
44
45 <!--
46 ============================================================
47 ============================================================
48 Structures:
49 paragraph, list, table
50
51 ============================================================
52 ============================================================
53 -->
54
55 <!--
56 ============================================================
57 paragraph
1 Health Level Seven, © 2000. All rights reserved 67
2
1
2 The CDA <paragraph> can occur in a <section>, <item>, or table cell
3 (<td>). A <paragraph> has an optional <caption> (see 3.3.2.2.2.1
4 Captions), followed by zero or more <content> elements (see 3.3.2.4.2
5 Content).
6 ============================================================
7 -->
8
9 <!ELEMENT paragraph (caption?, content*) >
10 <!ATTLIST paragraph
11 %body_atts;
12 >
13
14
15 <!--
16 ============================================================
17 list and item
18
19 The CDA <list> can occur in a <section>, <item>, or table cell (<td>). A
20 <list> has an optional <caption> (see 3.3.2.2.2.1 Captions), and
21 contains one or more <item> elements. The list_type attribute specifies
22 whether the <list> is ordered or unordered (with unordered being the
23 default). Use an ordered list when the ordering of list items is
24 meaningful.
25
26 The CDA <item> only occurs within a <list>. An <item> has an optional
27 <caption> (see 3.3.2.2.2.1 Captions), and may contain <content> (see
28 3.3.2.4.2 Content) and nested structures (see 3.3.2.3 Document
29 Structures).
30 ============================================================
31 -->
32
33 <!ELEMENT list (caption?, item+)>
34 <!ATTLIST list
35 %body_atts;
36 list_type (ordered | unordered) "unordered"
37 >
38
39 <!ELEMENT item (caption?, (content | %structures;)*)>
40 <!ATTLIST item
41 %body_atts;
42 >
43
44
45 <!--
46 ============================================================
47 table
48
49 In CDA Level One, any information can be presented as a table. The table
50 markup is for presentation purposes only and, unlike a database table,
51 does not possess meaningful field names. The CDA <table> can occur in a
52 <section> or <item>. A <table> has an optional <caption> (see
53 3.3.2.2.2.1 Captions).
54
55 CDA modifies the strict XHTML table model (see 5.4 References and
56 Appendix 5.3.1 Tables) by removing formatting tags and by setting the
57 content model of cells to be similar to the contents of other CDA
1 Health Level Seven, © 2000. All rights reserved 68
2
1 containers. The <th> element is modeled analogously to the <caption>
2 element (see 3.3.2.2.2.1 Captions), and like the <caption> element, the
3 <caption_cd> is optional and non-repeatable, and must occur first.
4
5 Changes to the strict XHTML table model in CDA include:
6
7 Change this:
8 <!ELEMENT caption %Inline;>
9 To this:
10 <!ELEMENT caption (#PCDATA | link | caption_cd)*>
11
12 Change these XML attributes:
13 %attrs;
14 To these:
15 ID ID #IMPLIED
16 confidentiality IDREFS #IMPLIED
17 originator IDREFS #IMPLIED
18 xml:lang NMTOKEN #IMPLIED
19
20 Change this:
21 <!ELEMENT td %Flow;>
22 to this:
23 <!ELEMENT td (#PCDATA | content | link | coded_entry |
24 observation_media | paragraph | list | local_markup)*>
25
26 change this:
27 <!ELEMENT th %Flow;>
28 to this:
29 <!ELEMENT th (#PCDATA | link | caption_cd)*>
30 ============================================================
31 -->
32
33 <!--===== XHTML entities used in the XHTML table model ===========-->
34
35 <!ENTITY % Character "CDATA">
36 <!-- a single character from [ISO10646] -->
37
38 <!ENTITY % Length "CDATA">
39 <!-- nn for pixels or nn% for percentage length -->
40
41 <!ENTITY % MultiLength "CDATA">
42 <!-- pixel, percentage, or relative -->
43
44 <!ENTITY % Number "CDATA">
45 <!-- one or more digits -->
46
47 <!ENTITY % Pixels "CDATA">
48 <!-- integer representing length in pixels -->
49
50 <!ENTITY % Text "CDATA">
51
52 <!--======================= Tables
53 =======================================-->
54
55 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
56
57 <!--
1 Health Level Seven, © 2000. All rights reserved 69
2
1 The border attribute sets the thickness of the frame around the
2 table. The default units are screen pixels.
3
4 The frame attribute specifies which parts of the frame around
5 the table should be rendered. The values are not the same as
6 CALS to avoid a name clash with the valign attribute.
7 -->
8 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
9
10 <!--
11 The rules attribute defines which rules to draw between cells:
12
13 If rules is absent then assume:
14 "none" if border is absent or border="0" otherwise "all"
15 -->
16
17 <!ENTITY % TRules "(none | groups | rows | cols | all)">
18
19 <!-- horizontal alignment attributes for cell contents
20
21 char alignment char, e.g. char=':'
22 charoff offset for alignment char
23 -->
24 <!ENTITY % cellhalign
25 "align (left|center|right|justify|char) #IMPLIED
26 char %Character; #IMPLIED
27 charoff %Length; #IMPLIED"
28 >
29
30 <!-- vertical alignment attributes for cell contents -->
31 <!ENTITY % cellvalign
32 "valign (top|middle|bottom|baseline) #IMPLIED"
33 >
34
35 <!ELEMENT table
36 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
37 <!ELEMENT caption (#PCDATA | link | caption_cd)*>
38 <!ELEMENT caption_cd %CE-cont.model;>
39 <!ELEMENT thead (tr)+>
40 <!ELEMENT tfoot (tr)+>
41 <!ELEMENT tbody (tr)+>
42 <!ELEMENT colgroup (col)*>
43 <!ELEMENT col EMPTY>
44 <!ELEMENT tr (th|td)+>
45 <!ELEMENT th (#PCDATA | link | caption_cd)*>
46 <!ELEMENT td (%entries; | paragraph | list)*>
47
48 <!ATTLIST table
49 %body_atts;
50 summary %Text; #IMPLIED
51 width %Length; #IMPLIED
52 border %Pixels; #IMPLIED
53 frame %TFrame; #IMPLIED
54 rules %TRules; #IMPLIED
55 cellspacing %Length; #IMPLIED
56 cellpadding %Length; #IMPLIED
57 >
1 Health Level Seven, © 2000. All rights reserved 70
2
1
2 <!ATTLIST caption
3 %body_atts;
4 >
5
6 <!ATTLIST caption_cd
7 %body_atts;
8 %CE-attrib.list;
9 >
10
11 <!--
12 colgroup groups a set of col elements. It allows you to group
13 several semantically related columns together.
14 -->
15 <!ATTLIST colgroup
16 %body_atts;
17 span %Number; "1"
18 width %MultiLength; #IMPLIED
19 %cellhalign;
20 %cellvalign;
21 >
22
23 <!--
24 col elements define the alignment properties for cells in
25 one or more columns.
26
27 The width attribute specifies the width of the columns, e.g.
28
29 width=64 width in screen pixels
30 width=0.5* relative width of 0.5
31
32 The span attribute causes the attributes of one
33 col element to apply to more than one column.
34 -->
35 <!ATTLIST col
36 %body_atts;
37 span %Number; "1"
38 width %MultiLength; #IMPLIED
39 %cellhalign;
40 %cellvalign;
41 >
42
43 <!--
44 Use thead to duplicate headers when breaking table
45 across page boundaries, or for static headers when
46 tbody sections are rendered in scrolling panel.
47
48 Use tfoot to duplicate footers when breaking table
49 across page boundaries, or for static footers when
50 tbody sections are rendered in scrolling panel.
51
52 Use multiple tbody sections when rules are needed
53 between groups of table rows.
54 -->
55 <!ATTLIST thead
56 %body_atts;
57 %cellhalign;
1 Health Level Seven, © 2000. All rights reserved 71
2
1 %cellvalign;
2 >
3
4 <!ATTLIST tfoot
5 %body_atts;
6 %cellhalign;
7 %cellvalign;
8 >
9
10 <!ATTLIST tbody
11 %body_atts;
12 %cellhalign;
13 %cellvalign;
14 >
15
16 <!ATTLIST tr
17 %body_atts;
18 %cellhalign;
19 %cellvalign;
20 >
21
22 <!-- Scope is simpler than headers attribute for common tables -->
23 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
24
25 <!-- th is for headers, td for data and for cells acting as both -->
26
27 <!ATTLIST th
28 %body_atts;
29 abbr %Text; #IMPLIED
30 axis CDATA #IMPLIED
31 headers IDREFS #IMPLIED
32 scope %Scope; #IMPLIED
33 rowspan %Number; "1"
34 colspan %Number; "1"
35 %cellhalign;
36 %cellvalign;
37 >
38
39 <!ATTLIST td
40 %body_atts;
41 abbr %Text; #IMPLIED
42 axis CDATA #IMPLIED
43 headers IDREFS #IMPLIED
44 scope %Scope; #IMPLIED
45 rowspan %Number; "1"
46 colspan %Number; "1"
47 %cellhalign;
48 %cellvalign;
49 >
50
2
1 4 Glossary
2
Term or Abbreviation Definition
Architecture An architecture for structured documents defines relationships between documents and
document specifications in terms of specialization and inheritance (see also CDA
architecture)
ASCII American Standard Code for Information Interchange, a common 8-bit character
encoding
CDA Clinical Document Architecture
CDA document A defined and complete information object that can exist outside of a messaging context
and/or can be a payload within an HL7 message. Includes the CDA Header and CDA
Body.
CDA Level One DTD The CDA Level One specification, expressed as an XML DTD.
Clinical document A clinical document is a documentation of clinical observations and services, with the
following characteristics:
Wholeness - Authentication of a clinical document applies to the whole and does not
apply to portions of the document without the full context of the document.
2
HTML Hypertext Markup Language, a specification of the W3C
Legal authentication A completion status in which a document has been signed manually or electronically by
the individual who is legally responsible for that document. This is the most mature state
in the workflow progression.
Level A quantum set of specializations within the CDA
Level One CDA Level One. The lowest, coarsest-grained level in the HL7 Clinical Document
Architecture
Level Three CDA Level Three. The third, most detailed level of the HL7 Clinical Document
Architecture
Level Two CDA Level Two. The second level of the HL7 Clinical Document Architecture
Local document The original, authenticated form of a document. Typically, local documents will not be
limited to CDA markup.
LOINC Logical Observations, Identifiers, Names, and Codes
(http://www.regenstrief.org/loinc/loinc.htm)
Markup Computer-processible annotations within a multimedia document. In the context of this
specification, markup syntax is according to the XML Recommendation
MDF HL7 Message Development Framework
MIME Multipurpose Internet Mail Extensions (MIME, RFC 2046)
Prolog An XML document structure. “Front matter” consisting of the XML Declaration and a
Document Type Declaration
Reference Information An information model used as the ultimate defining reference for all HL7 standards.
Model (RIM)
RIM Reference Information Model
Schema A formal definition of the structure and content of a class of document. (See also XML
Schemas)
Semantic In the context of a technical specification, semantic refers to the meaning of an element
as distinct from its syntax. Syntax can change without affecting semantics.
SGML Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected
SNOMED Systematized Nomenclature of Medicine (http://www.snomed.org/)
Source document See "Local document".
UML Unified Modeling Language, a specification of the Object Management Group (OMG)
(http://www.omg.org/technology/uml/)
URI Uniform Resource Indicator
Valid document A document which meets all of the validity constraints in the XML Specification
W3C The World Wide Web Consortium, an international industry consortium
(http://www.w3.org)
Well-formed document A document which meets all of the well-formedness constraints in the XML
Specification
XHTML XHTML 1.0. A Reformulation of HTML 4 in XML 1.0. W3C Recommendation 26-
January-2000. (www.w3.org/TR/xhtml1/)
XML Extensible Markup Language, specification of the W3C, a formal subset of SGML
(http://www.w3.org/TR/REC-xml)
XML Declaration Markup stating that the document is an XML document and stating to which version of
the XML specification the document is conformant
XML document An XML document consists of a prolog, root document element, and other objects. A
data object is an XML document if it is well-formed, as defined in the XML
specification.
XSL Extensible Style Language, a specification of the W3C (www.w3.org/Style/XSL/)
XSLT XSL transformation language, a specification of the W3C
(http://www.w3.org/TR/1999/REC-xslt-19991116)
1
2
2
1 5 Appendices (non-normative)
2 The appendices contain non-normative material supplied as aids to understanding and implementing the
3 technical specifications described above.
4
5 Appendix 5.1 "Samples" presents a sample document, both as it might appear in a typical word-processor,
6 and how it would appear when represented as a CDA Level One document instance. We present an XSLT
7 style sheet that transforms the CDA document instance into the included HTML instance.
8
9 Appendix 5.2 "CDA Level One Body UML model" provides a UML model that is a very literal expression
10 of the CDA Level One Body portion of the CDA Level One DTD. We note however that the
11 expressiveness of UML and DTD differs, so that certain constraints expressed within the DTD (such as the
12 ordering of elements within a content model) are not explicitly represented in the UML model.
13
14 Appendix 5.3 "CDA Implementation Notes" contains additional material of value to implementers. Section
15 5.3.1 "Tables" describe CDA's goals and objectives for the use of tabular material. Section 5.3.2
16 "Validation and conformance" describes CDA conformance determinants. Section 5.3.3 "Localization" and
17 section 5.3.4 "Transformation issues" describe considerations that arise when mapping from a local
18 implementation into CDA. Section 5.3.5 "Representing authenticated content" discusses the markup of
19 legally authenticated content within CDA documents.
20
21 Appendix 5.4 "References" enumerates those HL7 specifications, W3C specifications, and other Standards
22 and literature that have contributed to the development of the CDA.
23
24 Last, but certainly not least, appendix 5.5 "Acknowledgements" recognizes the many contributors to this
25 specification. The collaborative spirit and the enormous personal contributions made by these individuals
26 are greatly appreciated.
27 5.1 Samples
2
1 Prednisone 20mg qd
2 HCTZ 25mg qd
3
4 Allergies
5 Penicillin - Hives
6 Aspirin - Wheezing
7
8 Social History
9 Smoking :: 1 PPD between the ages of 20 and 55, and then he quit.
10 Alcohol :: Rare
11
12 Physical Exam
13 Vital Signs :: BP 118/78; Wt 185lb; Resp 16 and unlabored; T 98.6F; HR 86 and regular.
14 Skin :: Erythematous rash, palmar surface, left index finger.
15
16 Lungs :: Clear with no wheeze. Good air flow.
17 Cardiac :: RRR with no murmur, no S3, no S4.
18
19 Labs
20 CXR 02/03/1999: Hyperinflated. Normal cardiac silhouette, clear lungs.
21 Peak Flow today: 260 l/m.
22
23 Assessment
24 Asthma, with prior smoking history. Difficulty weaning off steroids. Will try gradual taper.
25 Hypertension, well-controlled.
26 Contact dermatitis on finger.
27
28 Plan
29 Complete PFTs with lung volumes.
30 Chem-7
31 Provide educational material on inhaler usage and peak flow self-monitoring.
32 Decrease prednisone to 20qOD alternating with 18qOD.
33 Hydrocortisone cream to finger BID.
34 RTC 1 week.
35
36 Signed by: Robert Dolin, MD April 8, 2000
37
2
1 5.1.2 Sample CDA document 18
2 The following two sample CDA documents both encode the preceding sample. The first CDA document
3 uses rich markup in order to illustrate many of the features of CDA. The second CDA document uses
4 minimal markup to illustrate mainly just the required features of CDA.
1 Note that the exact representation is contingent on the outcome of the HL7 Version 3 Data Types,
18
4
1 <STR V="Post St"/>
2 <DIR V="NE"/>
3 <CTY V="Alameda"/>
4 <STA V="CA"/>
5 <ZIP V="94501"/>
6 </addr>
7 <telecom V="tel:(358)555-1234" USE="WPN"/>
8 </person>
9 </legal_authenticator>
10 <originator>
11 <originator.type_cd V="AUT"/>
12 <participation_tmr V="2000-04-07"/>
13 <person>
14 <id EX="KP00017" RT="2.16.840.1.113883.3.933"/>
15 <person_name>
16 <nm>
17 <GIV V="Robert"/>
18 <FAM V="Dolin"/>
19 <SFX V="MD"/>
20 </nm>
21 <person_name.type_cd V="L" S="2.16.840.1.113883.5.200"/>
22 </person_name>
23 </person>
24 </originator>
25 <originating_organization>
26 <originating_organization.type_cd V="CST"/>
27 <organization>
28 <id EX="M345" RT="2.16.840.1.113883.3.933"/>
29 <organization.nm V="Good Health Clinic"/>
30 </organization>
31 </originating_organization>
32 <provider>
33 <provider.type_cd V="CON"/>
34 <participation_tmr V="2000-04-07"/>
35 <person>
36 <id EX="KP00017" RT="2.16.840.1.113883.3.933"/>
37 </person>
38 </provider>
39 <patient>
40 <patient.type_cd V="PATSBJ"/>
41 <person>
42 <id EX="12345" RT="2.16.840.1.113883.3.933"/>
43 <person_name>
44 <nm>
45 <GIV V="Henry"/>
46 <FAM V="Levin"/>
47 <SFX V="the 7th"/>
48 </nm>
49 <person_name.type_cd V="L" S="2.16.840.1.113883.5.200"/>
50 </person_name>
51 <person_name>
52 <nm>
53 <GIV V="Hank"/>
54 <FAM V="Levin"/>
55 </nm>
56 <person_name.type_cd V="A" S="2.16.840.1.113883.5.200"/>
57 </person_name>
58 </person>
59 <birth_dttm V="1932-09-24"/>
60 <administrative_gender_cd V="M" S="2.16.840.1.113883.5.1"/>
61 </patient>
62 <originating_device ID="DEV1">
63 <originating_device.type_cd V="ODV"/>
64 <device>
65 <id EX="devX3498" RT="2.16.840.1.113883.3.933"/>
66 <responsibility>
67 <responsibility.type_cd V="MNT" S="2.16.840.1.113883.5.10416"/>
68 <person>
69 <id EX="KP03257" RT="2.16.840.1.113883.3.933"/>
70 </person>
71 </responsibility>
2
1 </device>
2 </originating_device>
3 <local_header ignore="all" descriptor="MyLocalTag">
4 ... extra stuff that is only used locally ...
5 </local_header>
6 </clinical_document_header>
7 <body confidentiality="CONF1">
8 <section>
9 <caption>
10 <caption_cd V="10164-2" S="2.16.840.1.113883.6.1"/>
11 History of Present Illness
12 </caption>
13 <paragraph>
14 <content>
15 Henry Levin, the 7th is a 67 year old male referred for further
16 asthma management. Onset of asthma in his teens. He was hospitalized
17 twice last year, and already twice this year. He has not been able to
18 be weaned off steroids for the past several months.
19 </content>
20 </paragraph>
21 </section>
22 <section>
23 <caption>Past Medical History</caption>
24 <list>
25 <item><content>Asthma</content></item>
26 <item><content>Hypertension</content></item>
27 <item><content>Osteoarthritis, right knee</content></item>
28 </list>
29 </section>
30 <section>
31 <caption>
32 <caption_cd V="10160-0" S="2.16.840.1.113883.6.1"/>Medications
33 </caption>
34 <list>
35 <item><content>Theodur 200mg BID</content></item>
36 <item><content>Proventil inhaler 2puffs QID PRN</content></item>
37 <item><content>Prednisone 20mg qd</content></item>
38 <item><content>HCTZ 25mg qd</content></item>
39 </list>
40 </section>
41 <section>
42 <caption>Allergies</caption>
43 <list>
44 <item><content>Penicillin - Hives</content></item>
45 <item><content>Aspirin - Wheezing</content></item>
46 </list>
47 </section>
48 <section>
49 <caption>Social History</caption>
50 <list>
51 <item>
52 <content>
53 Smoking :: 1 PPD between the ages of 20 and 55, and then he quit.
54 </content>
55 </item>
56 <item><content>Alcohol :: rare</content></item>
57 </list>
58 </section>
59 <section>
60 <caption>
61 <caption_cd V="11384-5" S="2.16.840.1.113883.6.1"/>Physical Examination
62 </caption>
63 <section>
64 <caption>
65 <caption_cd V="8716-3" S="2.16.840.1.113883.6.1"/>Vital Signs
66 </caption>
67 <list>
68 <item><content>BP 118/78</content></item>
69 <item><content>Resp 16 and unlabored</content></item>
70 <item><content>T 98.6F</content></item>
71 <item><content>HR 86 and regular</content></item>
2
1 </list>
2 </section>
3 <section>
4 <caption>
5 <caption_cd V="8709-8" S="2.16.840.1.113883.6.1"/>Skin
6 </caption>
7 <paragraph>
8 <content>Erythematous rash, palmar surface, left index finger.
9 <observation_media>
10 <observation_media.value MT="image/jpeg">
11 <REF V="rash.jpeg"/>
12 </observation_media.value>
13 </observation_media>
14 </content>
15 </paragraph>
16 </section>
17 <section>
18 <caption>
19 <caption_cd V="11391-0" S="2.16.840.1.113883.6.1"/>Lungs
20 </caption>
21 <paragraph>
22 <content>Clear with no wheeze. Good air flow.</content>
23 </paragraph>
24 </section>
25 <section>
26 <caption>Cardiac</caption>
27 <paragraph>
28 <content>RRR with no murmur, no S3, no S4.</content>
29 </paragraph>
30 </section>
31 </section>
32 <section confidentiality="CONF2">
33 <caption>
34 <caption_cd V="11502-2" S="2.16.840.1.113883.6.1"/>Labs
35 </caption>
36 <list>
37 <item>
38 <content>
39 CXR 02/03/1999: Hyperinflated. Normal cardiac silhouette, clear lungs.
40 </content>
41 </item>
42 <item originator="DEV1"><content>Peak Flow today: 260 l/m</content></item>
43 </list>
44 </section>
45 <section>
46 <caption>
47 <caption_cd V="11496-7" S="2.16.840.1.113883.6.1"/>Assessment
48 </caption>
49 <list>
50 <item>
51 <content>
52 <content ID="String001">Asthma</content>, with prior smoking
53 history. Difficulty weaning off steroids. Will try gradual taper.
54 <coded_entry>
55 <coded_entry.value ORIGTXT="String001"
56 V="D2-51000" S="2.16.840.1.113883.6.5"/>
57 </coded_entry>
58 </content>
59 </item>
60 <item><content>Hypertension, well-controlled.</content></item>
61 <item><content>Contact dermatitis on finger.</content></item>
62 </list>
63 </section>
64 <section>
65 <caption>
66 <caption_cd V="1234-X" S="2.16.840.1.113883.6.1"/>Plan
67 </caption>
68 <list>
69 <item><content>Complete PFTs with lung volumes.</content></item>
70 <item><content>Chem-7</content></item>
71 <item>
2
1 <content>
2 Provide educational material on inhaler usage and peak flow self-monitoring.
3 </content>
4 </item>
5 <item>
6 <content>Decrease prednisone to 20qOD alternating with 18qOD.</content>
7 </item>
8 <item><content>Hydrocortisone cream to finger BID.</content></item>
9 <item><content>RTC 1 week.</content></item>
10 </list>
11 </section>
12 </body>
13 </levelone>
2
1 <person_name>
2 <nm>
3 <GIV V="Henry"/>
4 <FAM V="Levin"/>
5 <SFX V="the 7th"/>
6 </nm>
7 <person_name.type_cd V="L" S="2.16.840.1.113883.5.200"/>
8 </person_name>
9 </person>
10 <birth_dttm V="1932-09-24"/>
11 <administrative_gender_cd V="M" S="2.16.840.1.113883.5.1"/>
12 </patient>
13 </clinical_document_header>
14 <body>
15 <section>
16 <caption>History of Present Illness</caption>
17 <paragraph>
18 <content>
19 Henry Levin, the 7th is a 67 year old male referred for further
20 asthma management. Onset of asthma in his teens. He was hospitalized
21 twice last year, and already twice this year. He has not been able to
22 be weaned off steroids for the past several months.
23 </content>
24 </paragraph>
25 </section>
26 <section>
27 <caption>Past Medical History</caption>
28 <list>
29 <item><content>Asthma</content></item>
30 <item><content>Hypertension</content></item>
31 <item><content>Osteoarthritis, right knee</content></item>
32 </list>
33 </section>
34 <section>
35 <caption>Medications</caption>
36 <list>
37 <item><content>Theodur 200mg BID</content></item>
38 <item><content>Proventil inhaler 2puffs QID PRN</content></item>
39 <item><content>Prednisone 20mg qd</content></item>
40 <item><content>HCTZ 25mg qd</content></item>
41 </list>
42 </section>
43 <section>
44 <caption>Allergies</caption>
45 <list>
46 <item><content>Penicillin - Hives</content></item>
47 <item><content>Aspirin - Wheezing</content></item>
48 </list>
49 </section>
50 <section>
51 <caption>Social History</caption>
52 <list>
53 <item>
54 <content>
55 Smoking :: 1 PPD between the ages of 20 and 55, and then he quit.
56 </content>
57 </item>
58 <item><content>Alcohol :: rare</content></item>
59 </list>
60 </section>
61 <section>
62 <caption>Physical Examination</caption>
63 <section>
64 <caption>Vital Signs</caption>
65 <list>
66 <item><content>BP 118/78</content></item>
67 <item><content>Resp 16 and unlabored</content></item>
68 <item><content>T 98.6F</content></item>
69 <item><content>HR 86 and regular</content></item>
70 </list>
71 </section>
2
1 <section>
2 <caption>Skin</caption>
3 <paragraph>
4 <content>Erythematous rash, palmar surface, left index finger.
5 <observation_media>
6 <observation_media.value MT="image/jpeg">
7 <REF V="rash.jpeg"/>
8 </observation_media.value>
9 </observation_media>
10 </content>
11 </paragraph>
12 </section>
13 <section>
14 <caption>Lungs</caption>
15 <paragraph>
16 <content>Clear with no wheeze. Good air flow.</content>
17 </paragraph>
18 </section>
19 <section>
20 <caption>Cardiac</caption>
21 <paragraph>
22 <content>RRR with no murmur, no S3, no S4.</content>
23 </paragraph>
24 </section>
25 </section>
26 <section>
27 <caption>Labs</caption>
28 <list>
29 <item>
30 <content>
31 CXR 02/03/1999: Hyperinflated. Normal cardiac silhouette, clear lungs.
32 </content>
33 </item>
34 <item><content>Peak Flow today: 260 l/m</content></item>
35 </list>
36 </section>
37 <section>
38 <caption>Assessment</caption>
39 <list>
40 <item>
41 <content>
42 Asthma, with prior smoking
43 history. Difficulty weaning off steroids. Will try gradual taper.
44 <coded_entry>
45 <coded_entry.value V="D2-51000" S="2.16.840.1.113883.6.5"/>
46 </coded_entry>
47 </content>
48 </item>
49 <item><content>Hypertension, well-controlled.</content></item>
50 <item><content>Contact dermatitis on finger.</content></item>
51 </list>
52 </section>
53 <section>
54 <caption>Plan</caption>
55 <list>
56 <item><content>Complete PFTs with lung volumes.</content></item>
57 <item><content>Chem-7</content></item>
58 <item>
59 <content>
60 Provide educational material on inhaler usage and peak flow self-monitoring.
61 </content>
62 </item>
63 <item>
64 <content>Decrease prednisone to 20qOD alternating with 18qOD.</content>
65 </item>
66 <item><content>Hydrocortisone cream to finger BID.</content></item>
67 <item><content>RTC 1 week.</content></item>
68 </list>
69 </section>
70 </body>
71 </levelone>
2
1 5.1.3 Sample XSLT stylesheet
2 Created according to W3C XSL Transformations Version 1.0, http://www.w3.org/TR/1999/REC-xslt-
3 19991116.
4
5 <?xml version='1.0'?>
6
7 <!DOCTYPE xsl:stylesheet [
8 <!ENTITY CDA-Stylesheet
9 '-//HL7//XSL HL7 V1.1 CDA Stylesheet: 2000-08-03//EN'>
10 ]>
11 <xsl:stylesheet version='1.0'
12 xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
13
14 <xsl:output method='html' indent='yes' version='4.01'
15 doctype-public='-//W3C//DTD HTML 4.01//EN'/>
16
17 <xsl:variable name='docType'
18 select='/levelone/clinical_document_header/document_type_cd/@DN'/>
19 <xsl:variable name='orgName'
20 select='/levelone/clinical_document_header/originating_organization/organization/
21 organization.nm/@V'/>
22 <xsl:variable name='title'>
23 <xsl:value-of select='$orgName'/>
24 <xsl:text> </xsl:text>
25 <xsl:value-of select='$docType'/>
26 </xsl:variable>
27
28 <xsl:template match='/levelone'>
29 <html>
30 <head>
31 <meta name='Generator' content='&CDA-Stylesheet;'/>
32 <xsl:comment>
33 do NOT edit this HTML directly, it was generated
34 via an XSLT transformation from the original Level 1
35 document.
36 </xsl:comment>
37 <style>
38 <xsl:comment>
39 body {background-color: white; color: black; }
40 <!--div div { margin: 4px 0 4px 0.1in; padding:
41 0; }-->
42 <!--ul { margin: -4px 0 -8px 0 ; padding: 0; }-->
43 p { margin: 10px 0 10px 0.25in; }
44 div.caption { font-weight: bold; text-decoration:
45 underline; }
46 span.caption { font-weight: bold; }
47 div.title { font-size: 18pt; font-weight: bold }
48 div.demographics { text-align: center ; }
49 </xsl:comment>
50 </style>
51
52 <title>
53 <xsl:value-of select='$title'/>
54 </title>
55 </head>
56 <body>
57 <div class='title'>
58 <xsl:value-of select='$title'/>
59 </div>
60 <br/>
61 <xsl:apply-templates select='clinical_document_header'/>
62 <br/>
63 <xsl:apply-templates select='body'/>
64 <xsl:call-template name='signature'/>
65 </body>
66 </html>
67 </xsl:template>
68
1 Health Level Seven, © 2000. All rights reserved 84
2
1 <!--
2 generate a table at the top of the document containing
3 encounter and patient information. Encounter info is
4 rendered in the left column(s) and patient info is
5 rendered in the right column(s).
6
7 This assumes several things about the source document which
8 won't be true in the general case:
9
10 1. there is only 1 of everything (i.e., physcian, patient, etc.)
11 2. I haven't bothered to map all HL7 table values
12 (e.g., actor.type_cd and administrative_gender_cd)
13 and have only those that are used in the sample document
14
15 I tried to do the table formting with CSS2 rules, but Netscape
16 doesn't seem to handle the table rules well (or at all:-( so I
17 just gave up
18 -->
19 <xsl:template match='clinical_document_header'>
20 <div class='demographics'>
21 <table border='0'>
22 <tbody>
23 <xsl:call-template name='encounter'/>
24 <xsl:call-template name='patient'/>
25 </tbody>
26 </table>
27 </div>
28 </xsl:template>
29
30 <xsl:template name='encounter'>
31 <tr>
32 <xsl:apply-templates select='provider'/>
33 </tr>
34 <tr>
35 <xsl:apply-templates select='patient_encounter/encounter_tmr'/>
36 </tr>
37 </xsl:template>
38
39 <xsl:template match='encounter_tmr'>
40 <th align='left' width='16.67%'>Date:</th>
41 <td align='left' width='16.67%'>
42 <xsl:call-template name='date'>
43 <xsl:with-param name='date' select='@V'/>
44 </xsl:call-template>
45 </td>
46 </xsl:template>
47
48 <xsl:template match='provider'>
49 <th align='left' width='16.67%'>
50 <xsl:call-template name='provider_type_cd'>
51 <xsl:with-param name='type_cd' select='provider.type_cd/@V'/>
52 </xsl:call-template>
53 <xsl:text>:</xsl:text>
54 </th>
55 <td align='left' width='16.67%'>
56 <xsl:variable name='ptr' select='person/id/@EX'/>
57
58 <xsl:for-each
59 select='/levelone/clinical_document_header/originator/person[id/@EX=$ptr]'>
60 <xsl:call-template name='getName'/>
61 </xsl:for-each>
62 </td>
63 </xsl:template>
64
65 <xsl:template name='patient'>
66 <tr>
67 <xsl:apply-templates select='patient'/>
68 </tr>
69
70 <tr>
71 <xsl:apply-templates select='patient/birth_dttm'/>
2
1 </tr>
2 </xsl:template>
3
4 <xsl:template match='birth_dttm'>
5 <th align='left' width='16.67%'>Birthdate:</th>
6 <td align='left' width='16.67%'>
7 <xsl:call-template name='date'>
8 <xsl:with-param name='date' select='@V'/>
9 </xsl:call-template>
10 </td>
11 </xsl:template>
12
13 <xsl:template match='patient'>
14 <th align='left' width='16.67%'>Patient:</th>
15 <td align='left' width='16.67%'>
16 <xsl:for-each select='person'>
17 <xsl:call-template name='getName'/>
18 </xsl:for-each>
19 </td>
20 <th align='right' width='16.67%'>
21 <xsl:text>MRN:</xsl:text>
22 </th>
23 <td align='left' width='16.67%'>
24 <xsl:value-of select='person/id/@EX'/>
25 </td>
26 <th align='right' width='16.66%'>Sex:</th>
27 <td align='left' width='16.66%'>
28 <xsl:call-template name='administrative_gender_cd'>
29 <xsl:with-param name='gender_cd'
30 select='administrative_gender_cd/@V'/>
31 </xsl:call-template>
32 </td>
33 </xsl:template>
34
35 <!--
36 just apply the default template for these
37 -->
38 <xsl:template match='body|caption|content'>
39 <xsl:apply-templates/>
40 </xsl:template>
41
42 <!--
43 spit out the caption (in the 'caption' style)
44 followed by applying whatever templates we
45 have for the applicable children
46 -->
47 <xsl:template match='section'>
48 <div>
49 <div class='caption'>
50 <xsl:apply-templates select='caption'/>
51 </div>
52 <xsl:apply-templates select='paragraph|list|table|section'/>
53 </div>
54 </xsl:template>
55
56 <xsl:template match='section/section'>
57 <ul>
58 <li>
59 <span class='caption'>
60 <xsl:apply-templates select='caption'/>
61 <xsl:text> :: </xsl:text>
62 </span>
63 <xsl:apply-templates select='paragraph|list|table|section'/>
64 </li>
65 </ul>
66 </xsl:template>
67
68 <!--
69 currently ignores paragraph captions...
70
71 I need samples of the use description and render
2
1 to know what really should be done with them
2 -->
3 <xsl:template match='paragraph'>
4 <p>
5 <xsl:apply-templates select='content'/>
6 </p>
7 </xsl:template>
8
9 <!--
10 currently ignore caption's on the list itself,
11 but handles them on the list items
12 -->
13 <xsl:template match='list'>
14 <ul>
15 <xsl:for-each select='item'>
16 <li>
17 <xsl:if test='caption'>
18 <xsl:apply-templates select='caption'/>
19 <xsl:text> :: </xsl:text>
20 </xsl:if>
21 <xsl:apply-templates select='content'/>
22 </li>
23 </xsl:for-each>
24 </ul>
25 </xsl:template>
26
27 <!--
28 currently ignore caption's on the list itself,
29 but handles them on the list items
30 -->
31 <xsl:template match='section/section/list'>
32 <xsl:for-each select='item'>
33 <xsl:apply-templates select='content'/>
34 <xsl:if test='position()!=last()'>
35 <xsl:text>; </xsl:text>
36 </xsl:if>
37 </xsl:for-each>
38 </xsl:template>
39
40 <xsl:template match='section/section/paragraph'>
41 <span>
42 <xsl:apply-templates/>
43 </span>
44 </xsl:template>
45
46 <!--
47 Tables
48
49 just copy over the entire subtree, as is
50 except that the children of CAPTION are possibly handled by
51 other templates in this stylesheet
52 -->
53 <xsl:template match='table|table/caption|thead|tfoot|tbody|colgroup|col|tr|th|td'>
54 <xsl:copy>
55 <xsl:apply-templates select='*|@*|text()'/>
56 </xsl:copy>
57 </xsl:template>
58 <xsl:template match='table/@*|thead/@*|tfoot/@*|tbody/@*|colgroup/@*|col/@*|tr/@*|th/@*|
59 td/@*'>
60 <xsl:copy>
61 <xsl:apply-templates/>
62 </xsl:copy>
63 </xsl:template>
64
65 <!--
66 this currently only handles GIF's and JPEG's. It could, however,
67 be extended by including other image MIME types in the predicate
68 and/or by generating <object> or <applet> tag with the correct
69 params depending on the media type
70 -->
71 <xsl:template match='observation_media'>
2
1 <xsl:if test='observation_media.value[
2 @MT="image/gif" or @MT="image/jpeg"
3 ]'>
4 <br clear='all'/>
5 <xsl:element name='img'>
6 <xsl:attribute name='src'>
7 <xsl:value-of select='observation_media.value/REF/@V'/>
8 </xsl:attribute>
9 </xsl:element>
10 </xsl:if>
11 </xsl:template>
12
13 <!--
14 turn the link_html subelement into an HTML a element,
15 complete with any attributes and content it may have,
16 while stripping off any CDA specific attributes
17 -->
18 <xsl:template match='link'>
19 <xsl:element name='a'>
20 <xsl:for-each select='link_html/@*'>
21 <xsl:if test='not(name()="originator" or
22 name()="confidentiality")'>
23 <xsl:attribute name='{name()}'>
24 <xsl:value-of select='.'/>
25 </xsl:attribute>
26 </xsl:if>
27 </xsl:for-each>
28 <xsl:value-of select='link_html'/>
29 </xsl:element>
30 </xsl:template>
31
32 <!--
33 this doesn't do anything with the description
34 or render attributes...it simply decides whether
35 to remove the entire subtree or just pass the
36 content thru
37
38 I need samples of the use description and render
39 to know what really should be done with them
40 -->
41 <!--
42 <xsl:template match='local_markup'>
43 <xsl:choose>
44 <xsl:when test='@ignore="markup"'>
45 <xsl:apply-templates/>
46 </xsl:when>
47 </xsl:choose>
48 </xsl:template>
49 -->
50 <xsl:template match='@ignore'>
51 <xsl:choose>
52 <xsl:when test='.="markup"'>
53 <xsl:apply-templates select='../text()'/>
54 </xsl:when>
55 </xsl:choose>
56 </xsl:template>
57
58 <!--
59 elements to ignore
60 -->
61 <xsl:template match='coded_entry'>
62 </xsl:template>
63
64 <xsl:template match='caption_cd'>
65 </xsl:template>
66
67
68 <!--
69 template(s) to output signature block
70
71 Assumes there is only one signer at this time
2
1 -->
2 <xsl:template name='signature'>
3 <xsl:variable name='signers'
4 select='/levelone/clinical_document_header/legal_authenticator/person'/>
5 <xsl:if test='$signers'>
6 <div>
7 <span class='caption'>Signed by:</span>
8 <xsl:for-each select='$signers'>
9 <xsl:call-template name='getName'>
10 <xsl:with-param name='person' select='.'/>
11 </xsl:call-template>
12 <xsl:text> on </xsl:text>
13 <xsl:call-template name='date'>
14 <xsl:with-param name='date'
15 select='../participation_tmr/@V'/>
16 </xsl:call-template>
17 </xsl:for-each>
18 </div>
19 </xsl:if>
20 </xsl:template>
21
22 <!--
23 general purpose (named) templates used in multiple places
24 -->
25 <!--
26 assumes current node is a <person_name> node
27
28 Does not handle nearly all of the complexity of the person datatype,
29 but is illustritive of what would be required to do so in the future
30 -->
31 <xsl:template name='getName'>
32 <xsl:apply-templates select='person_name[person_name.type_cd/@V="L"]'/>
33 </xsl:template>
34 <xsl:template match='person_name'>
35 <xsl:choose>
36 <xsl:when test='nm/GIV[@QUAL="RE"]/@V'>
37 <xsl:value-of select='nm/GIV[@QUAL="RE"]/@V'/>
38 </xsl:when>
39 <xsl:when test='nm/GIV[@CLAS="N"]/@V'>
40 <xsl:value-of select='nm/GIV[@CLAS="N"]/@V'/>
41 </xsl:when>
42 <xsl:otherwise>
43 <xsl:value-of select='nm/GIV/@V'/>
44 </xsl:otherwise>
45 </xsl:choose>
46 <xsl:text> </xsl:text>
47 <xsl:choose>
48 <xsl:when test='nm/FAM[@QUAL="RE"]/@V'>
49 <xsl:value-of select='nm/FAM[@QUAL="RE"]/@V'/>
50 </xsl:when>
51 <xsl:otherwise>
52 <xsl:value-of select='nm/FAM/@V'/>
53 </xsl:otherwise>
54 </xsl:choose>
55 <xsl:choose>
56 <xsl:when test='nm/SFX[@QUAL="RE"]/@V'>
57 <xsl:text>, </xsl:text>
58 <xsl:value-of select='nm/SFX[@QUAL="RE"]/@V'/>
59 </xsl:when>
60 <xsl:when test='nm/SFX/@V'>
61 <xsl:text>, </xsl:text>
62 <xsl:value-of select='nm/SFX/@V'/>
63 </xsl:when>
64 </xsl:choose>
65 </xsl:template>
66
67 <!--
68 outputs a date in Month Day, Year form
69
70 e.g., 19991207 ==> December 07, 1999
71 -->
2
1 <xsl:template name='date'>
2 <xsl:param name='date'/>
3 <xsl:variable name='month' select='substring ($date, 6, 2)'/>
4 <xsl:choose>
5 <xsl:when test='$month=01'>
6 <xsl:text>January </xsl:text>
7 </xsl:when>
8 <xsl:when test='$month=02'>
9 <xsl:text>February </xsl:text>
10 </xsl:when>
11 <xsl:when test='$month=03'>
12 <xsl:text>March </xsl:text>
13 </xsl:when>
14 <xsl:when test='$month=04'>
15 <xsl:text>April </xsl:text>
16 </xsl:when>
17 <xsl:when test='$month=05'>
18 <xsl:text>May </xsl:text>
19 </xsl:when>
20 <xsl:when test='$month=06'>
21 <xsl:text>June </xsl:text>
22 </xsl:when>
23 <xsl:when test='$month=07'>
24 <xsl:text>July </xsl:text>
25 </xsl:when>
26 <xsl:when test='$month=08'>
27 <xsl:text>August </xsl:text>
28 </xsl:when>
29 <xsl:when test='$month=09'>
30 <xsl:text>September </xsl:text>
31 </xsl:when>
32 <xsl:when test='$month=10'>
33 <xsl:text>October </xsl:text>
34 </xsl:when>
35 <xsl:when test='$month=11'>
36 <xsl:text>November </xsl:text>
37 </xsl:when>
38 <xsl:when test='$month=12'>
39 <xsl:text>December </xsl:text>
40 </xsl:when>
41 </xsl:choose>
42 <xsl:choose>
43 <xsl:when test='substring ($date, 9, 1)="0"'>
44 <xsl:value-of select='substring ($date, 10, 1)'/><xsl:text>,
45 </xsl:text>
46 </xsl:when>
47 <xsl:otherwise>
48 <xsl:value-of select='substring ($date, 9, 2)'/><xsl:text>,
49 </xsl:text>
50 </xsl:otherwise>
51 </xsl:choose>
52 <xsl:value-of select='substring ($date, 1, 4)'/>
53 </xsl:template>
54
55 <!--
56 table lookups
57 -->
58 <xsl:template name='provider_type_cd'>
59 <xsl:param name='type_cd'/>
60 <xsl:choose>
61 <xsl:when test='$type_cd="CON"'>
62 <xsl:text>Consultant</xsl:text>
63 </xsl:when>
64 <xsl:when test='$type_cd="PRISURG"'>
65 <xsl:text>Primary surgeon</xsl:text>
66 </xsl:when>
67 <xsl:when test='$type_cd="FASST"'>
68 <xsl:text>First assistant</xsl:text>
69 </xsl:when>
70 <xsl:when test='$type_cd="SASST"'>
71 <xsl:text>Second assistant</xsl:text>
2
1 </xsl:when>
2 <xsl:when test='$type_cd="SNRS"'>
3 <xsl:text>Scrub nurse</xsl:text>
4 </xsl:when>
5 <xsl:when test='$type_cd="TASST"'>
6 <xsl:text>Third assistant</xsl:text>
7 </xsl:when>
8 <xsl:when test='$type_cd="NASST"'>
9 <xsl:text>Nurse assistant</xsl:text>
10 </xsl:when>
11 <xsl:when test='$type_cd="ANEST"'>
12 <xsl:text>Anesthetist</xsl:text>
13 </xsl:when>
14 <xsl:when test='$type_cd="ANRS"'>
15 <xsl:text>Anesthesia nurse</xsl:text>
16 </xsl:when>
17 <xsl:when test='$type_cd="MDWF"'>
18 <xsl:text>Midwife</xsl:text>
19 </xsl:when>
20 <xsl:when test='$type_cd="ATTPHYS"'>
21 <xsl:text>Attending physician</xsl:text>
22 </xsl:when>
23 <xsl:when test='$type_cd="ADMPHYS"'>
24 <xsl:text>Admitting physician</xsl:text>
25 </xsl:when>
26 <xsl:when test='$type_cd="DISPHYS"'>
27 <xsl:text>Discharging physician</xsl:text>
28 </xsl:when>
29 <xsl:when test='$type_cd="RNDPHYS"'>
30 <xsl:text>Rounding physician</xsl:text>
31 </xsl:when>
32 <xsl:when test='$type_cd="PCP"'>
33 <xsl:text>Primary care provider</xsl:text>
34 </xsl:when>
35 <xsl:otherwise>
36 <xsl:value-of select='$type_cd'/>
37 </xsl:otherwise>
38 </xsl:choose>
39 </xsl:template>
40
41 <xsl:template name='administrative_gender_cd'>
42 <xsl:param name='gender_cd'/>
43 <xsl:choose>
44 <xsl:when test='$gender_cd="M"'>
45 <xsl:text>Male</xsl:text>
46 </xsl:when>
47 <xsl:when test='$gender_cd="F"'>
48 <xsl:text>Female</xsl:text>
49 </xsl:when>
50 <xsl:otherwise>
51 <xsl:value-of select='$gender_cd'/>
52 </xsl:otherwise>
53 </xsl:choose>
54 </xsl:template>
55
56 </xsl:stylesheet>
2
1 5.1.4 HTML rendition of sample CDA document
2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
3 <html>
4 <head>
5 <meta name="Generator" content="-//HL7//XSL HL7 V1.1 CDA Stylesheet: 2000-08-03//EN"><!--
6 do NOT edit this HTML directly, it was generated
7 via an XSLT transformation from the original Level 1
8 document.
9 -->
10 <style><!--
11 body {background-color: white; color: black; }
12
13
14 p { margin: 10px 0 10px 0.25in; }
15 div.caption { font-weight: bold; text-decoration:
16 underline; }
17 span.caption { font-weight: bold; }
18 div.title { font-size: 18pt; font-weight: bold }
19 div.demographics { text-align: center ; }
20 -->
21 </style>
22 <title>Good Health Clinic Consultation note</title>
23 </head>
24 <body>
25 <div class="title">Good Health Clinic Consultation note</div>
26 <br>
27 <div class="demographics">
28 <table border="0">
29 <tbody>
30 <tr>
31 <th align="left" width="16.67%">Consultant:</th><td align="left" width="16.67%">Robert
32 Dolin, MD</td>
33 </tr>
34 <tr>
35 <th align="left" width="16.67%">Date:</th><td align="left" width="16.67%">April 7,
36 2000</td>
37 </tr>
38 <tr>
39 <th align="left" width="16.67%">Patient:</th><td align="left" width="16.67%">Henry Levin,
40 the 7th</td><th align="right" width="16.67%">MRN:</th><td align="left"
41 width="16.67%">12345</td><th align="right" width="16.66%">Sex:</th><td align="left"
42 width="16.66%">Male</td>
43 </tr>
44 <tr>
45 <th align="left" width="16.67%">Birthdate:</th><td align="left" width="16.67%">September
46 24, 1932</td>
47 </tr>
48 </tbody>
49 </table>
50 </div>
51 <br>
52 <div>
53 <div class="caption">
54
55 History of Present Illness
56 </div>
57 <p>
58 Henry Levin, the 7th is a 67 year old male referred for further
59 asthma management. Onset of asthma in his teens. He was hospitalized
60 twice last year, and already twice this year. He has not been able to
61 be weaned off steroids for the past several months.
62 </p>
63 </div>
64 <div>
65 <div class="caption">Past Medical History</div>
66 <ul>
67 <li>Asthma</li>
68 <li>Hypertension</li>
69 <li>Osteoarthritis, right knee</li>
2
1 </ul>
2 </div>
3 <div>
4 <div class="caption">
5 Medications
6 </div>
7 <ul>
8 <li>Theodur 200mg BID</li>
9 <li>Proventil inhaler 2puffs QID PRN</li>
10 <li>Prednisone 20mg qd</li>
11 <li>HCTZ 25mg qd</li>
12 </ul>
13 </div>
14 <div>
15 <div class="caption">Allergies</div>
16 <ul>
17 <li>Penicillin - Hives</li>
18 <li>Aspirin - Wheezing</li>
19 </ul>
20 </div>
21 <div>
22 <div class="caption">Social History</div>
23 <ul>
24 <li>
25 Smoking :: 1 PPD between the ages of 20 and 55, and then he quit.
26 </li>
27 <li>Alcohol :: rare</li>
28 </ul>
29 </div>
30 <div>
31 <div class="caption">
32 Physical Examination
33 </div>
34 <ul>
35 <li>
36 <span class="caption">
37 Vital Signs
38 :: </span>BP 118/78; Resp 16 and unlabored; T 98.6F; HR 86 and regular</li>
39 </ul>
40 <ul>
41 <li>
42 <span class="caption">
43 Skin
44 :: </span><span>
45 Erythematous rash, palmar surface, left index finger.
46 <br clear="all">
47 <img src="rash.jpeg">
48
49 </span>
50 </li>
51 </ul>
52 <ul>
53 <li>
54 <span class="caption">
55 Lungs
56 :: </span><span>
57 Clear with no wheeze. Good air flow.
58 </span>
59 </li>
60 </ul>
61 <ul>
62 <li>
63 <span class="caption">Cardiac :: </span><span>
64 RRR with no murmur, no S3, no S4.
65 </span>
66 </li>
67 </ul>
68 </div>
69 <div>
70 <div class="caption">
71 Labs
2
1 </div>
2 <ul>
3 <li>
4 CXR 02/03/1999: Hyperinflated. Normal cardiac silhouette, clear lungs.
5 </li>
6 <li>Peak Flow today: 260 l/m</li>
7 </ul>
8 </div>
9 <div>
10 <div class="caption">
11 Assessment
12 </div>
13 <ul>
14 <li>
15 Asthma, with prior smoking
16 history. Difficulty weaning off steroids. Will try gradual taper.
17
18 </li>
19 <li>Hypertension, well-controlled.</li>
20 <li>Contact dermatitis on finger.</li>
21 </ul>
22 </div>
23 <div>
24 <div class="caption">
25 Plan
26 </div>
27 <ul>
28 <li>Complete PFTs with lung volumes.</li>
29 <li>Chem-7</li>
30 <li>
31 Provide educational material on inhaler usage and peak flow self-monitoring.
32 </li>
33 <li>Decrease prednisone to 20qOD alternating with 18qOD.</li>
34 <li>Hydrocortisone cream to finger BID.</li>
35 <li>RTC 1 week.</li>
36 </ul>
37 </div>
38 <div>
39 <span class="caption">Signed by:</span>Robert Dolin, MD on April 8, 2000</div>
40 </body>
41 </html>
2
1 5.2 CDA Level One Body UML model
2 This section provides a UML model that is a very literal expression of the CDA Level One Body portion of
3 the CDA Level One DTD. We note however that the expressiveness of UML and DTD differs, so that
4 certain constraints expressed within the DTD (such as the ordering of elements within a content model) are
5 not explicitly represented in the UML model.
6
7 Document analysis was used to articulate requirements for the CDA Level One Body. These are expressed
8 in XML using industry-standard constructs. The structural components themselves are not part of RIM
9 0.98. The UML model of the CDA Level One Body included here is presented as a non-normative tool to
10 aid in understanding the XML DTD.
2
non_xml
contains
contains lev elone contains body 1..1 %body_atts;
1..1 1..1
clinical_document_header %body_atts; %body_atts; 0..1
1..1 1..1
contains
0..1
body_atts
1 originator : XML_IDREFS common_atts section 0..*
confidentiality : XML_IDREFS 0..*
xml : lang %body_atts; contains
ID : XML_ID
%common_atts; 0..1
0..1 0..1
contains
0..*
contains
caption
0..1
%body_atts; 0..1
caption_cd : CE structures 0..*
contains
0..1 %body_atts;
0..1
col colgroup
0..* 0..1 0..1
%body_atts; %body_atts;
0..1 0..*
contains
0..* 0..*
contains
0..1
contains contains
item
0..1
1..1 %body_atts;
thead 0..1 tbody
0..1 contains table paragraph
%body_atts; contains %body_atts; contains contains
1..1 0..* 1..*
1..1 0..1
0..1 1..1 contains 0..*
0..1 0..1 0..1
contains contains contains
contains contains
contains
1..1
contains
0..*
0..1 1..* 1..* 0..1 contains
tf oot tr td list
%body_atts; contains %body_atts; contains %body_atts; list_type : (ordered | unordered) = unordered
0..1 1..* 1..1 0..* 0..*
0..1 contains
1..1 0..1
contains
contains link_html
0..* name
0..* th href
link 1 contains
rel
%body_atts; contains 0..*
%body_atts; rev
caption_cd : CE
0..1 1 title
%body_atts;
0..* 0..*
0..1 0..1
0..1 contains
contains content
0..1
coded_entry
0..* contains %body_atts;
0..* %body_atts;
PCDATA 1 id : II
value : CD
0..*
observation_media
0..*
%body _atts; contains 0..1 local_markup
id : II local_attr
entries contains
0..* ignore name : XML_NMTOKEN
v alue : CD
descriptor value : XML_CDATA
render 0..*
0..1 %common_atts;
1 Health Level Seven, © 2000. All rights reserved 96 %body_atts;
2
1 5.3 CDA Implementation Notes
2 The following sections contain background information and explanatory material that can help those
3 implementing the CDA.
4 5.3.1 Tables
5 The following goals apply to information presented in tabular form in CDA Level One:
6
7 1. Meet CDA guidelines for human readability: use common browsers and standard style sheets.
8 2. Ensure that the widest possible group of participants can create documents and then transform them
9 into CDA Level One.
10 3. Allow use of common word processing tools (including RTF, HTML and XML editors) to create
11 tables which can be easily inserted into CDA-compliant documents.
12 4. Allow conversion of tables created in non-CDA XML into CDA Level One.
13
14 Subsequent releases and higher levels of the architecture will observe the same goals and may include a
15 standard for markup of tabular material that meets some or all of the following additional criteria:
16
17 5. Information in tables in higher levels of the architecture should be down-translatable into lower levels
18 with a minimum of semantic loss.
19 6. Import tables from relational and object oriented databases using automated processes with minimal
20 loss of processing semantics.
21 7. Easily encode and insert into a document material received within an HL7 message that is conceptually
22 tabular with minimal loss of processing semantics.
23 8. Automated table manipulation is not guaranteed safe where there are no agreed-upon semantics to
24 guide the processing (for example, tables meeting goals 1-5 only). Revisions may need to be checked
25 for consistent use of the table format.
26 9. Render documents for dynamic display.
27 10. CDA tables can be queried with a relatively simple SQL-like statement. In the future, this requirement
28 will extend to cover the nascent XQL specification.
29 11. Data in CDA tables can be extracted with sufficient granularity to be translated into a database schema.
30 The design of the table model should minimize the complexity of translating into and out of the table
31 model.
32 12. Non-architectural tables: A single table model or set of table models should be used across all CDA
33 documents, irrespective of Level. This requires that the table model(s) have a uniform method of
34 carrying semantic encoding which might be optional at Level One, but required and specified at higher
35 levels.
2
1 5.3.3 Localization
2 Those implementing structured document systems for healthcare may choose to adopt CDA DTDs directly
3 into their application or environment. Yet applications and implementations commonly have features and
4 requirements that exceed the CDA definitions. The two primary modes of localization are use of locally-
5 defined markup within the CDA (see the discussion of localization in the CDA Header, 3.2.2.6
6 Localization, and in the CDA Level One Body, 3.3.2.4.6 Localization), and use of a local DTD that is
7 transformed to the CDA for the purpose of exchange.
8
9 The implementation of localization within CDA parallels the "version compatibility definition" in HL7
10 V2.3.1 (Chapter 2 Control/Query, section 2.10.2) that enables new fields, segments, and components to be
11 introduced at the tail end of the normative specification. In the process of converting from the Hierarchical
12 Description to the XML DTD, the CDA specification adds a <local_header> element to the end of every
13 XML content model. Likewise, a <local_markup> element is added to the end of every XML content
14 model within the CDA Level One Body.
2
1 5.3.5 Representing authenticated content
2 The following describes the responsibility of the CDA for representing authenticated content. This position
3 may be extended with the availability of further standards for digital signature, XML formatting and
4 specific formatting standards for clinical documents.
5
6 Observations:
7 Representation of authenticated content should not be the sole, overriding constraint on the style of
8 XML markup.
9 Different criteria may apply to markup of authenticated content in the CDA Header and in the CDA
10 Level One body. At Level One, the content and markup of the body is relatively unconstrained, while
11 markup of the Header is precise. In addition, at Level One, the semantics of the Header are prescribed
12 and are conveyed by markup, while the semantics of the body are not prescribed and are, by definition,
13 not conveyed by markup.
14 Provider requirements for verifying and reproducing what was signed vary widely.
15 Vendor solutions to provider requirements employ a wide range of technical strategies, all more or less
16 bound to specific applications and platforms.
17 Requirements for reproducing what was authenticated for the courts can and must be de-coupled from
18 requirements for exchanging information within healthcare.
19
20 Presentation for legal purposes:
21 CDA documents are exchange artifacts and as such are not original, authenticated entities. They are
22 transformed copies of original documents bearing markup specific to exchange, not to origination and
23 not to authentication.
24 Representation of authenticated content for the purpose of legal verification of original content is and
25 will remain outside the scope of the CDA.
26 It is expected that originating institutions will establish and maintain their own policies, procedures,
27 and technology for recording and reproducing the signed content of the original.
28
29 Presentation for clinical care, administration, and analysis within healthcare:
30 Representation of original content between providers and analysts for healthcare delivery and
31 processing of medical records is within the scope of the CDA.
32 At present, no standards-compliant, application-independent method of representing the content of
33 XML documents has sufficient market acceptance to be balloted as the canonical stylesheet for basic
34 presentation of CDA documents. 19 Thus, while it is possible to express in simple language the
35 requirements for representing the content of a CDA document for the purpose of communication
36 between clinicians in a manner that does not compromise the format independence of the markup, no
37 equivalent stylesheet mechanism can be specified.
38 CDA Level One is accompanied by a sample XSL style sheet that transforms the CDA to HTML.
39 For more general presentation, a human language (English) guide to the representation of the content
40 of a CDA document can be created as an implementation guide. This would allow recipients to build a
41 stylesheet or sets of stylesheets according to their own requirements.
42 CDA conformance will apply solely to transmitted document instances. It is understood that
43 implementers can build stylesheets for specialized purposes that will suppress or reveal portions of the
44 document and markup according to diverse use cases and business rules. Implementer stylesheets will
45 be non-normative and no compliance or conformance mechanism will be provided.
46
1 19
An argument could be made that CSS does meet these criteria, but only on screen, not in print. XSLT has
2 large market acceptance and is an open standard (W3C Recommendation) but an XSLT “stylesheet” as
3 implemented today always has an application and time-bound target syntax, such as a version/flavor of
4 HTML or rtf, that does not meet our requirements. Full blown XSL, that is, XSLT plus XSL formatting
5 objects, would meet our criteria, but this is not yet a standard and has not yet been implemented. DSSSL
6 does meet all our criteria save market acceptance.
7 Health Level Seven, © 2000. All rights reserved 99
8
1 5.4 References
2
3 Health Level 7 References [www.hl7.org]
4 HL7 Reference Information Model, Version 0.98
5 www.hl7.org/library/data-model/RIM/modelpage_non.htm
6 HL7 Messaging Standard, Version 2.3.1
7 HL7 Version 3 Message Development Framework, 1999.
8 HL7 Version 3 Standard; Data Type Specification, Release 1 (DTD, abstract specification)
9
10 World Wide Web Consortium References [www.w3.org]
11 XML Schema Part 1: Structures. W3C Working Draft 6-May-1999
12 www.w3.org/1999/05/06-xmlschema-1/
13 XML Schema Part 2: Datatypes. World Wide Web Consortium Working Draft 06-May-1999.
14 www.w3.org/1999/05/06-xmlschema-2/
15 XML Linking Language (XLink). World Wide Web Consortium Working Draft 3-March-1998.
16 www.w3.org/TR/1998/WD-xlink-19980303
17 Extensible Markup Language (XML) 1.0. W3C Recommendation 10-February-1998.
18 www.w3.org/TR/1998/REC-xml-19980210.html
19 Extensible Stylesheet Language (XSL)
20 www.w3.org/Style/XSL/
21 XHTML 1.0. A Reformulation of HTML 4 in XML 1.0. W3C Recommendation 26-January-2000.
22 www.w3.org/TR/xhtml1/
23
24 Other Standards that have contributed to the development of the CDA
25 CEN/TC251 ENV 13606, 4 part EHCR message standard.
26 Health Informatics: Interoperability of Healthcare Multimedia Report Systems, CEN TC251 WG IV,
27 Version 1, 1999-05-28.
28 Digital Imaging and Communications in Medicine (DICOM) Supplement 23: Structured Reporting
29 (SR). 29-October-1999.
30 Information processing – Text and office systems – Standard Generalized Markup Language (SGML).
31 ISO 8879:1986. October, 1986.
32 Information processing – Text and office systems – Standard Generalized Markup Language (SGML),
33 Amendment 1. ISO 8879:1986/AMENDMENT 1. July, 1988.
34 Architectural Forms Definition Requirements (AFDR, ISO/IEC 10744).
35 Document Style Semantics and Specification Language (DSSSL, ISO/IEC 10179:1996)
36
37 Other References that have contributed to the development of the CDA
38 Alschuler L. First do no harm. A standard for electronic communication in healthcare. Dudeck J et al
39 (ed.) New Technologies in Hospital Information Systems. Vol. 45 in Studies in Health Technology
40 and Informatics. Amsterdam: IOS Press; 1997.
41 Alschuler L, Beeler G, Boyer S, Lincoln T, Owens F, Rishel W, Spinosa J, Sutor R. XML in
42 healthcare: the HL7 experience. XML '99. Graphic Communications Association.
43 Alschuler L, Brennan S, Rossi Mori A, Sokolowski R, Dudeck J. SGML/XML in healthcare
44 information exchange standards. Proc SGML Europe ‘98. Graphic Communications Association,
45 1998: 425-33.
46 Behlen F, Alschuler L, Bidgood D. The document-oriented approach for PACS and medical records.
47 Proc. SPIE 1999; 3662: 29-36.
48 Behlen F. A DICOM document-oriented approach to PACS infrastructure. J. Digital Imaging 1998;
49 11:3 Suppl. 1, 35-8.
50 Bidgood WD. Documenting the information content of images. AMIA Fall Symposium Supplement
51 1997: 424-8.
2
1 Dolin R, Alschuler L, Behlen F, Biron P, Boyer S, Essin D, Harding L, Lincoln T, Mattison J, Rishel
2 W, Sokolowski R, Spinosa J, Williams J. HL7 Document Patient Record Architecture: an XML
3 document architecture based on a shared information model. Fall AMIA, November 1999.
4 Dolin RH, Rishel W, Biron PV, Spinosa J, Mattison JE. SGML and XML as interchange formats for
5 HL7 messages. JAMIA Fall Symposium Supplement 1998: 720-4.
6 European Committee for Standardization / Technical Committee 251 - Medical Informatics.
7 Investigation of Syntaxes for Existing Interchange Formats to be used in Healthcare. CEN/TC 251.
8 January 1993.
9 Friedman C, Hripcsak G, Shagina L, Liu H. Representing information in patient reports using natural
10 language processing and the Extensible Markup Language. JAMIA 1999;6(1):76-87.
11 Rector AL, Glowinski AJ, Nowlan WA, Rossi-Mori A. Medical-concept models and medical records:
12 An approach based on GALEN and PEN&PAD. JAMIA 1995;2(1):19-35.
13
14
15 5.5 Acknowledgements
16
17 In addition to those listed at the top of this document, the following people and committees have
18 contributed to the development of this architecture:
19
20 Carl Adler, Fred Behlen, Dean Bidgood, Carol Broverman, Hans Buitendijk, Ron Capwell, John Carter,
21 Michal Coleman, Don Connelly, Gary Dickinson, Steve Doubleday, Joachim Dudeck, Dan Essin, Jasen
22 Fici, Al Figler, Leo Fogarty, Gerard Freriks, Lloyd Harding, Richard Harding, Michael Henderson, Juggy
23 Jagannathan, Ed Jones, Eliot Kimber, Tom Lincoln, John Majerus, David Markwell, John Mattison, Bob
24 Moe, Wes Rishel, Angelo Rossi-Mori, Gunther Schadow, Anil Sethi, Anne Shanney, John Spinosa,
25 Michael Toback, Wayne Tracy, Jason Williams.
26
27 We'd also like to point out the need for a close working relationship between various committees in
28 ensuring the harmony of the various work products generated by HL7. In particular, we gratefully
29 acknowledge the contributions and domain expertise of the Medical Records / Information Management
30 Technical Committee and the Orders & Observation Technical Committee.
31
32