13. 4. MML_3.0_levelone_1.0.dtd

<?xml version='1.0' encoding='iso-8859-1' ?>

 

<!--Generated by XML Authority-->

 

<!--

============================================================

============================================================

HL7 Clinical Document Architecture, Version 1.0

 

CDA Level One DTD

 

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">

 

%CDA-Header-1.0;

 

<!--

============================================================

============================================================

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">

 

%MML-Modules-3.0;

 

<!--

============================================================

============================================================

Shared XML attributes

 

XML element identification

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.)

 

Confidentiality

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.

 

Originators

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;

originator IDREFS #IMPLIED

confidentiality IDREFS #IMPLIED

xml:lang NMTOKEN #IMPLIED">

 

<!ENTITY % entries "#PCDATA | content | link | coded_entry | observation_media | local_markup">

 

<!ENTITY % structures "paragraph | list | table">

 

<!--

============================================================

============================================================

Level One Root

 

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)>

 

<!ATTLIST levelone

%body_atts;

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'

>

<!--

============================================================

============================================================

Document body and sections

 

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)>

 

<!ATTLIST body %body_atts; >

<!ELEMENT section (caption? , (%structures; | section)* , coded_entry*)>

 

<!ATTLIST section %body_atts; >

<!ELEMENT non_xml %ED-cont.model;>

 

<!ATTLIST non_xml %common_atts;

originator IDREFS #IMPLIED

confidentiality IDREFS #IMPLIED

%ED-attrib.list; >

<!--

============================================================

============================================================

Entries:

content, link, coded_entry, observation_media, local_markup

 

============================================================

============================================================

-->

<!--

============================================================

content

 

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;)*>

 

<!--

============================================================

link

 

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 (link_html)>

 

<!ATTLIST link %body_atts; >

<!ELEMENT link_html (#PCDATA)>

 

<!ATTLIST link_html name CDATA #IMPLIED

href CDATA #IMPLIED

rel CDATA #IMPLIED

rev CDATA #IMPLIED

title CDATA #IMPLIED

%body_atts; >

<!--

============================================================

coded_entry

 

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;

%II-attrib.list; >

<!ELEMENT coded_entry.value %CD-cont.model;>

 

<!ATTLIST coded_entry.value %CD-attrib.list;

%common_atts; >

<!--

============================================================

observation_media

 

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;

%II-attrib.list;

HL7-NAME CDATA #FIXED 'id' >

<!ELEMENT observation_media.value %ED-cont.model;>

 

<!ATTLIST observation_media.value %common_atts;

%ED-attrib.list;

HL7-NAME CDATA #FIXED 'value' >

<!--

============================================================

local_markup

 

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'

descriptor CDATA #IMPLIED

render CDATA #IMPLIED

%body_atts; >

<!--

============================================================

============================================================

Structures:

paragraph, list, table

 

============================================================

============================================================

-->

<!--

============================================================

paragraph

 

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; >

<!--

============================================================

list and item

 

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+)>

 

<!ATTLIST list %body_atts;

list_type (ordered | unordered ) 'unordered' >

<!ELEMENT item (caption? , (content | %structures;)*)>

 

<!ATTLIST item %body_atts; >

<!--

============================================================

table

 

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:

 

Change this:

<!ELEMENT caption %Inline;>

To this:

<!ELEMENT caption (#PCDATA | link | caption_cd)*>

 

Change these XML attributes:

%attrs;

To these:

ID ID #IMPLIED

confidentiality IDREFS #IMPLIED

originator IDREFS #IMPLIED

xml:lang NMTOKEN #IMPLIED

 

Change this:

<!ELEMENT td %Flow;>

to this:

<!ELEMENT td (#PCDATA | content | link | coded_entry | observation_media | paragraph | list | local_markup)*>

 

change this:

<!ELEMENT th %Flow;>

to this:

<!ELEMENT th (#PCDATA | link | caption_cd)*>

============================================================

-->

<!--===== XHTML entities used in the XHTML table model ===========-->

<!ENTITY % Character "CDATA">

 

<!-- a single character from [ISO10646] -->

<!ENTITY % Length "CDATA">

 

<!-- nn for pixels or nn% for percentage length -->

<!ENTITY % MultiLength "CDATA">

 

<!-- pixel, percentage, or relative -->

<!ENTITY % Number "CDATA">

 

<!-- one or more digits -->

<!ENTITY % Pixels "CDATA">

 

<!-- integer representing length in pixels -->

<!ENTITY % Text "CDATA">

 

<!--======================= 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

char %Character; #IMPLIED

charoff %Length; #IMPLIED">

 

<!-- vertical alignment attributes for cell contents -->

<!ENTITY % cellvalign " valign (top | middle | bottom | baseline ) #IMPLIED">

 

<!ELEMENT table (caption? , (col* | colgroup*) , thead? , tfoot? , (tbody+ | tr+))>

 

<!ATTLIST table %body_atts;

summary %Text; #IMPLIED

width %Length; #IMPLIED

border %Pixels; #IMPLIED

frame %TFrame; #IMPLIED

rules %TRules; #IMPLIED

cellspacing %Length; #IMPLIED

cellpadding %Length; #IMPLIED >

<!ELEMENT caption (#PCDATA | link | caption_cd)*>

 

<!ATTLIST caption %body_atts; >

<!ELEMENT caption_cd %CE-cont.model;>

 

<!ATTLIST caption_cd %body_atts;

%CE-attrib.list; >

<!ELEMENT thead (tr)+>

 

<!ATTLIST thead %body_atts;

%cellhalign;

%cellvalign; >

<!ELEMENT tfoot (tr)+>

 

<!ATTLIST tfoot %body_atts;

%cellhalign;

%cellvalign; >

<!ELEMENT tbody (tr)+>

 

<!ATTLIST tbody %body_atts;

%cellhalign;

%cellvalign; >

<!ELEMENT colgroup (col)*>

<!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;>

 

<!ELEMENT col EMPTY>

<!ATTLIST col %body_atts;>

 

<!--

col elements define the alignment properties for cells in

one or more columns.

 

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>

<!ATTLIST col %cellhalign;>

<!ATTLIST col %cellvalign;>

 

<!ELEMENT tr (th | td)+>

 

<!ATTLIST tr %body_atts;

%cellhalign;

%cellvalign; >

<!ELEMENT th (#PCDATA | link | caption_cd)*>

<!ATTLIST th %body_atts;>

 

<!-- 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">

<!ATTLIST th %cellhalign;>

<!ATTLIST th %cellvalign;>

 

<!ELEMENT td (%entries; | paragraph | list)*>

 

<!ATTLIST td %body_atts;

abbr %Text; #IMPLIED

axis CDATA #IMPLIED

headers IDREFS #IMPLIED >

<!--

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

between groups of table rows.

-->

<!-- Scope is simpler than headers attribute for common tables -->

<!ENTITY % Scope "(row|col|rowgroup|colgroup)">

 

 


© 2003. All rights reserved