<?xml version='1.0' encoding='iso-8859-1' ?>
<!--Generated by XML Authority-->
============================================================
============================================================
HL7 Clinical Document Architecture, Version 1.0
Public Identifier :: "-//HL7//DTD CDA Level One 1.0//EN"
============================================================
============================================================
============================================================
============================================================
The following system id must be changed to point to the location of the Header file on your system.
============================================================
============================================================
<!ENTITY % CDA-Header-1.0 PUBLIC "-//HL7//DTD CDA Header 1.0//EN" "MML_3.0_header_1.0.dtd">
============================================================
============================================================
The following system id must be changed to point to the location of the MML Module file on your system.
============================================================
============================================================
<!ENTITY % MML-Modules-3.0 PUBLIC "-//MML//DTD MML Module 1.0//EN" "mml_modules_3.0.dtd">
============================================================
============================================================
Every XML element within a CDA document has an optional identifier, which must be unique within the document. (See 3.2.2.1.1 XML element identification). (This attribute is declared in the CDA Header DTD.)
The confidentiality attribute can occur on any element within the CDA body. The CDA Header contains an optionally repeating element <confidentiality_cd> (see 3.2.2.2.3 Document confidentiality). The confidentiality attribute on CDA Body elements can reference one or more of the confidentiality values in the CDA Header using XML IDREFS. The value(s) referenced must be XML ID(s) in the <confidentiality_cd> element of the CDA Header. Confidentiality is inherited by nested content, unless overridden.
The originator attribute can occur on any element within the CDA body. The CDA Header contains optionally repeating elements <originator> (see 3.2.2.4.4.1 Originating person) and <originating_device> (see 3.2.2.5.2 Originating device). The originator attribute on an element within the CDA Body can reference one or more of these values using XML IDREFS. The value(s) referenced must be XML ID(s) in the <originator> or <originating_device> element of the CDA Header. Origination is inherited by nested content, unless overridden.
============================================================
============================================================
<!ENTITY % body_atts " %common_atts;
confidentiality IDREFS #IMPLIED
<!ENTITY % entries "#PCDATA | content | link | coded_entry | observation_media | local_markup">
<!ENTITY % structures "paragraph | list | table">
============================================================
============================================================
The CDA element <levelone> is the root element of a CDA Level One document. The <levelone> element contains a <clinical_document_header> and a <body>. The <clinical_document_header> is derived from the RIM (see 3.2 CDA Header). The <body> is comprised of either <section> elements, or a <non_xml> element, which is used when the document body is in some format other then XML. A CDA <section> can contain "structures", nested <section> elements, and <coded_entry> elements. CDA structures include the <paragraph>, <list>, and <table> elements. These structures contain CDA "entries", which include the <content>, <link>, <coded_entry>, <observation_media>, and <local_markup> elements, in addition to plain character data.
============================================================
============================================================
<!ELEMENT levelone (clinical_document_header , body)>
xmlns:mml CDATA #FIXED 'http://www.medxml.net/MML'
xmlns:xhtml CDATA #FIXED 'http://www.w3.org/1999/xhtml'
xmlns:mmlCm CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/Common/1.0'
xmlns:mmlNm CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/Name/1.0'
xmlns:mmlFc CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/Facility/1.0'
xmlns:mmlDp CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/Department/1.0'
xmlns:mmlAd CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/Address/1.0'
xmlns:mmlPh CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/Phone/1.0'
xmlns:mmlPsi CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/PersonalizedInfo/1.0'
xmlns:mmlCi CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/CreatorInfo/1.0'
xmlns:mmlPi CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/PatientInfo/1.0'
xmlns:mmlBc CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/BaseClinic/1.0'
xmlns:mmlFcl CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/FirstClinic/1.0'
xmlns:mmlHi CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/HealthInsurance/1.1'
xmlns:mmlLs CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/Lifestyle/1.0'
xmlns:mmlPc CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/ProgressCourse/1.0'
xmlns:mmlRd CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/RegisteredDiagnosis/1.0'
xmlns:mmlSg CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/Surgery/1.0'
xmlns:mmlSm CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/Summary/1.0'
xmlns:mmlLb CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/test/1.0'
xmlns:mmlRp CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/report/1.0'
xmlns:mmlRe CDATA #FIXED 'http://www.medxml.net/MML/ContentModule/Referral/1.0'
xmlns:mmlSc CDATA #FIXED 'http://www.medxml.net/MML/SharedComponent/Security/1.0'
xmlns:claim CDATA #FIXED 'http://www.medxml.net/claim/claimModule/2.1'
xmlns:claimA CDATA #FIXED 'http://www.medxml.net/claim/claimAmountModule/2.1'
============================================================
============================================================
The CDA <body> occurs in the <levelone> element. All CDA documents have exactly one <body>. The <body> contains either one or more <section> elements (see 3.3.2.2.2 Document sections) or a single non_xml data segment (see 3.3.2.2.3 Non_xml body).
The CDA <section> is a container used to wrap other containers. A <section> can occur in the <body>, or can be nested within another <section>. A <section> has an optional <caption> (see 3.3.2.2.2.1 Captions), followed by nested <section> elements or structures (see 3.3.2.3 Document Structures), followed by optionally repeating <coded_entry> elements (see 3.3.2.4.4 Coded entries).
The CDA <non_xml> container represents a document body that is in some format other than XML. CDA's <non_xml> is an encoded data type (ED), which is used only to reference data that is stored externally to the CDA Level One document.
============================================================
============================================================
<!ELEMENT body (section+ | non_xml)>
<!ELEMENT section (caption? , (%structures; | section)* , coded_entry*)>
<!ATTLIST section %body_atts; >
<!ELEMENT non_xml %ED-cont.model;>
<!ATTLIST non_xml %common_atts;
confidentiality IDREFS #IMPLIED
============================================================
============================================================
content, link, coded_entry, observation_media, local_markup
============================================================
============================================================
============================================================
CDA <content> occurs in <local_markup>, table cells (<td>), <paragraph>, <item>, and nested within <content>. The <content> element contains zero or more entries (see 3.3.2.4 Document Entries).
The <content> element can nest recursively, which enables wrapping a string of plain text down to as small a chunk as desired. These <content> elements can serve as anchors, and <coded_entry.value> elements can reference these anchors to indicate the original text that supports the use of a coded entry. (See 3.3.2.4.4 Coded entries for more detail.)
============================================================
<!ELEMENT content (%entries;)*>
============================================================
The CDA <link> is a generic referencing mechanism and occurs within <content>, <local_markup>, table cells (<td>), or <caption>. A <link> contains a single required <link_html> element.
The CDA <link_html> can only occur within a <link>. Each <link_html> 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 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 xml:lang attribute (see 3.3.2.1.4 Language).
The CDA link mechanism is based on the HTML anchor tag. Several groups (see 5.4 References) are actively developing formal link specifications. When a suitable open standard is available and implemented, it will be reviewed with the intent to incorporate it into the CDA Level One specification.
Multimedia that is integral to a document, and part of the attestable content of the document requires the use of <observation_media> (see 3.3.2.4.5 Observation media). Multimedia that is simply referenced by the document and not an integral part of the document should use <link>.
============================================================
<!ELEMENT link_html (#PCDATA)>
<!ATTLIST link_html name CDATA #IMPLIED
============================================================
The CDA element <coded_entry> inserts codes from HL7-recognized coding schemes into CDA documents. Where there are no suitable HL7-recognized codes available, locally-defined codes can be used. The use of <coded_entry> in CDA Level One is unrestricted, and the primary intent of <coded_entry> is to facilitate document indexing, search and retrieval, and to provide a standard convention for insertion of locally-meaningful codes.
The <coded_entry.value> element can explicitly reference the original text within the document that supports the use of the code.
============================================================
<!ELEMENT coded_entry (coded_entry.id? , coded_entry.value , local_markup*)>
<!ATTLIST coded_entry %body_atts; >
<!ELEMENT coded_entry.id %II-cont.model;>
<!ATTLIST coded_entry.id %common_atts;
<!ELEMENT coded_entry.value %CD-cont.model;>
<!ATTLIST coded_entry.value %CD-attrib.list;
============================================================
The <observation_media> element represents media that is logically a part of a CDA document, but is stored outside the document and incorporated by reference. Multimedia that is integral to a document, and part of the attestable content of the document, requires the use of <observation_media>. Multimedia 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 <observation_media> is used only to reference data that is stored externally.
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. Several groups (see 5.4 References) are actively developing formal specifications for packaging binary data within XML documents. When a suitable open standard for direct incorporation of binary data is available and implemented, it will be incorporated into the CDA Level One specification.
============================================================
<!ELEMENT observation_media (observation_media.id? , observation_media.value , local_markup*)>
<!ATTLIST observation_media %body_atts;
HL7-NAME CDATA #FIXED 'observation'
T CDATA #FIXED 'observation' >
<!ELEMENT observation_media.id %II-cont.model;>
<!ATTLIST observation_media.id %common_atts;
<!ELEMENT observation_media.value %ED-cont.model;>
<!ATTLIST observation_media.value %common_atts;
HL7-NAME CDATA #FIXED 'value' >
============================================================
The implementation of localization in the CDA Level One Body using the <local_markup> element parallels the implementation described for the CDA Header (see 3.2.2.6 Localization).
The descriptor attribute describes the element, and the value can be drawn from a local vocabulary domain. The ignore attribute tells the receiver to ignore just the <local_markup> tag (ignore="markup"), or to ignore the <local_markup> tag and all contained content (ignore="all"). The render attribute indicates how the sender would render the contents. The value can be drawn from a local vocabulary domain. The nested <local_attr> element makes it easier to map local XML attribute values into the CDA.
============================================================
<!ELEMENT local_markup (%entries; | local_attr | mml:docInfo | mmlPi:PatientModule | mmlHi:HealthInsuranceModule | mmlRd:RegisteredDiagnosisModule | mmlLs:LifestyleModule | mmlBc:BaseClinicModule | mmlFcl:FirstClinicModule | mmlPc:ProgressCourseModule | mmlSg:SurgeryModule | mmlSm:SummaryModule | mmlLb:TestModule | mmlRp:ReportModule | mmlRe:ReferralModule | claim:ClaimModule | claimA:ClaimAmountModule)*>
<!ATTLIST local_markup ignore (all | markup ) 'markup'
============================================================
============================================================
============================================================
============================================================
============================================================
The CDA <paragraph> can occur in a <section>, <item>, or table cell (<td>). A <paragraph> has an optional <caption> (see 3.3.2.2.2.1 Captions), followed by zero or more <content> elements (see 3.3.2.4.2 Content).
============================================================
<!ELEMENT paragraph (caption? , content*)>
<!ATTLIST paragraph %body_atts; >
============================================================
The CDA <list> can occur in a <section>, <item>, or table cell (<td>). A <list> has an optional <caption> (see 3.3.2.2.2.1 Captions), and contains one or more <item> elements. The list_type attribute specifies whether the <list> is ordered or unordered (with unordered being the default). Use an ordered list when the ordering of list items is meaningful.
The CDA <item> only occurs within a <list>. An <item> has an optional <caption> (see 3.3.2.2.2.1 Captions), and may contain <content> (see 3.3.2.4.2 Content) and nested structures (see 3.3.2.3 Document Structures).
============================================================
<!ELEMENT list (caption? , item+)>
list_type (ordered | unordered ) 'unordered' >
<!ELEMENT item (caption? , (content | %structures;)*)>
============================================================
In CDA Level One, any information can be presented as a table. The table markup is for presentation purposes only and, unlike a database table, does not possess meaningful field names. The CDA <table> can occur in a <section> or <item>. A <table> has an optional <caption> (see 3.3.2.2.2.1 Captions).
CDA modifies the strict XHTML table model (see 5.4 References and Appendix 5.3.1 Tables) by removing formatting tags and by setting the content model of cells to be similar to the contents of other CDA containers. The <th> element is modeled analogously to the <caption> element (see 3.3.2.2.2.1 Captions), and like the <caption> element, the <caption_cd> is optional and non-repeatable, and must occur first.
Changes to the strict XHTML table model in CDA include:
<!ELEMENT caption (#PCDATA | link | caption_cd)*>
confidentiality IDREFS #IMPLIED
<!ELEMENT td (#PCDATA | content | link | coded_entry | observation_media | paragraph | list | local_markup)*>
<!ELEMENT th (#PCDATA | link | caption_cd)*>
============================================================
<!--===== XHTML entities used in the XHTML table model ===========-->
<!-- a single character from [ISO10646] -->
<!-- nn for pixels or nn% for percentage length -->
<!ENTITY % MultiLength "CDATA">
<!-- pixel, percentage, or relative -->
<!-- integer representing length in pixels -->
<!--======================= Tables =======================================-->
<!-- Derived from IETF HTML table standard, see [RFC1942] -->
The border attribute sets the thickness of the frame around the
table. The default units are screen pixels.
The frame attribute specifies which parts of the frame around
the table should be rendered. The values are not the same as
CALS to avoid a name clash with the valign attribute.
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
The rules attribute defines which rules to draw between cells:
If rules is absent then assume:
"none" if border is absent or border="0" otherwise "all"
<!ENTITY % TRules "(none | groups | rows | cols | all)">
<!-- horizontal alignment attributes for cell contents
char alignment char, e.g. char=':'
charoff offset for alignment char
<!ENTITY % cellhalign " align (left | center | right | justify | char ) #IMPLIED
<!-- vertical alignment attributes for cell contents -->
<!ENTITY % cellvalign " valign (top | middle | bottom | baseline ) #IMPLIED">
<!ELEMENT table (caption? , (col* | colgroup*) , thead? , tfoot? , (tbody+ | tr+))>
cellpadding %Length; #IMPLIED >
<!ELEMENT caption (#PCDATA | link | caption_cd)*>
<!ATTLIST caption %body_atts; >
<!ELEMENT caption_cd %CE-cont.model;>
<!ATTLIST caption_cd %body_atts;
<!ATTLIST colgroup %body_atts;>
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.
<!ATTLIST colgroup span %Number; "1">
<!ATTLIST colgroup width %MultiLength; #IMPLIED>
<!ATTLIST colgroup %cellhalign;>
<!ATTLIST colgroup %cellvalign;>
col elements define the alignment properties for cells in
The width attribute specifies the width of the columns, e.g.
width=64 width in screen pixels
width=0.5* relative width of 0.5
The span attribute causes the attributes of one
col element to apply to more than one column.
<!ATTLIST col span %Number; "1">
<!ATTLIST col width %MultiLength; #IMPLIED>
<!ELEMENT th (#PCDATA | link | caption_cd)*>
<!-- th is for headers, td for data and for cells acting as both -->
<!ATTLIST th abbr %Text; #IMPLIED>
<!ATTLIST th axis CDATA #IMPLIED>
<!ATTLIST th headers IDREFS #IMPLIED>
<!ATTLIST th rowspan %Number; "1">
<!ATTLIST th colspan %Number; "1">
<!ELEMENT td (%entries; | paragraph | list)*>
Use thead to duplicate headers when breaking table
across page boundaries, or for static headers when
tbody sections are rendered in scrolling panel.
Use tfoot to duplicate footers when breaking table
across page boundaries, or for static footers when
tbody sections are rendered in scrolling panel.
Use multiple tbody sections when rules are needed
<!-- Scope is simpler than headers attribute for common tables -->