<!--
============================================================
============================================================
HL7 Document Patient Record Architecture 
Header DTD Fragment
Drafted by the Kona Editorial Group (KEG), a group chartered by the HL7
SGML/XML SIG

Purpose
* Enable clinical document exchange across and within institutions.
* Facilitate clinical document management.
* Facilitate compilation of an individual patient's HL7 Patient 
  Record Documents into a lifetime Electronic Patient Record.

Every HL7 Patient Record Document contains a Patient Record Header. 
An HL7 Patient Record Document is incomplete and invalid if the 
Patient Record Header does not contain the required components.

The Patient Record Header contains information that uniquely 
identifies and classifies the document, attestation details, 
event, patient, and practitioner.

The Patient Record Header is not intended to replace and does 
not preclude use of localized header information or local 
document management information in either the source or the 
interchange documents.

============================================================
============================================================
-->

<!--
============================================================
============================================================
Change Log
 
Each change must reference:
  the version number
  the date of the change
  the author
============================================================
============================================================
Version 0.01:1999/1/6:harding
Took out HL7 from table entity names adding comment.
   HL7Z001.document.state changed to document.state.table
   HL70001.sex changed to sex.table

Version 0.01:1999/1/6:harding
Changed entity acronyms to a full description. HL7 datatype attributes 
still contain the acronym for mapping to HL7 constructs. The comment
was changed to provide reference to the appropriate specification.
  CE changed to Coded_element
  CX changed to Id_with_checkdigit
  EI changed to Entity_identifier
  HD changed to Hierarchical_designator
  ID changed to HL7_coded_values
  IS changed to User_defined_values
  NM changed to Numeric 
  PL changes to Person_location
  ST changed to String
  TS changed to Time_stamp
  XAD changed to Extended_address
  XCN changed to Extended_person_name_and_id
  XON changed to Extended_org_name_and_id
  XPN changed to Extended_person_name
  XTN changed to Extended_telecomm_number

Version 0.01:1999/1/6:harding
......Added ignore attribute to local.header to provide hint for
......receiver regarding processing.

Version 0.01:1998/12/22:dolin
......Added an entity definition for the Coded_element data type.
......Redefine patient.sex as HL7_coded_values.EN data type.
......Redefine document.format as IS data type.
......Change the representation of IS data type - treat as a Coded_element data 
type, and will not include the enumerated list in the DTD.  
(There is no longer a need for an "IS.EN" data type. 
......There is no longer the need for Tables 0133, 0270, 0291)
Removed entities:
   HL70133.procedure.practitioner.identifier.code.type
   HL70270.document.type
   HL70291.subtype.of.referenced.data

......Added coded element entity and added data type components 
included in the Coded_element - identifer, text, name.of.coding.system, 
alternate.identifer, and name.of.alternate.coding.system.
 
 <!ENTITY % Coded_element
   "( identifier?,
      text?,
      name.of.coding.system?,
      alternate.identifier?,
      alternate.text?,
      name.of.alternate.coding.system?,
      local.header*
    )"
 >

......Changed document.format element
  removed table and domain attributes
  changed datatype from ID.EN to IS
  changed content model from EMPTY to %Coded_element:
......Changed document.type element -
  removed table, other, and domain attributes
  changed datatype from ID.EN to IS
  changed content model from EMPTY to %Coded_element;
......Changed practitioner.role element -
  removed table, other, and domain attributes
  changed datatype from IS.EN to IS
  changed content model from EMPTY to %Coded_element;
......Changed patient.sex element -
   removed attribute other
   changed datatype attribute from IS.EN to ID.EN
 
Version 0.01:1998/12/5:harding
Remove timestamp element since no longer used.

Version 0.01:1998/12/3:harding
Added header material supplied by Liora

Version 0.01:1998/12/3:harding
Changed comment on HL7 datatypes to indicate rationale for
using complete content models is to allow changes using the
insternal subset and changed datatype entities to include
complete content models along with where they are used in the
DTD.

Version 0.01:1998/12/3:harding
Removed patient.alternate.id from patient.identifer.id since 
it is already in Extended_org_name_and_id.
Removed entity HL70203.identifier.type - no longer referenced

Version 0.01:1998/12/3:harding
Changed EN to ID.EN and IS.EN to reflect types of datatypes.

Version 0.01:1998/12/3:harding
Added 'other' attribute to HL7 tables.

Version 0.01:1998/12/3:harding
Changed 'v' attribute name to 'value'.

Version 0.01:1998/12/3:harding
Changed 'type' attribute name to 'HL7.datatype'.

Version 0.01:1998/12/3:harding
Removed content.header since not used.

Version 0.01:1998/11/30:harding
Added 'version' attribute to header element.
 
Version 0.01:1998/11/30:harding
Added recursion to local.header declaration.

Version 0.01:1998/11/30:harding
Changed datatype content models to include content model
parens and repitition indicators to force conformance to
HL7 datatypes and added note indicating such.

Version 0.01:1998/11/30:harding
Added comment to document.parent.id, hopefully, clarifying
the reason for only one id.

-->

<!--
============================================================
============================================================
Common Attributes
 
Attributes shared by many elements.
 
============================================================
============================================================
-->
 
<!ENTITY % common-atts
  " ID ID #IMPLIED
  "
>
 
<!--
============================================================
============================================================
Local Header Information
 
Local.header provides a slot for local 
(non-exchange related) markup.
 
Examples would include items for
internal workflow issues, etc.
 
The default action for the receiver is to
ignore the local.header and its contents.
This is reflected by having the ignore 
attribute default to 'all'. If the sender
choses to replace the default with the
value of 'markup' they are informing the
receiver that they think the content
enclosed in the markup may be useful.
But there is no requirement that the
receiver do anything with the markup
and content.
 
Descriptor describes the local header.
Render may give indication of how the
origin would render the content.
 
============================================================
============================================================
-->
<!ELEMENT local.header (#PCDATA | local.header)* >
<!ATTLIST local.header
  ignore (all | markup) "all"
  descriptor CDATA #IMPLIED
  render CDATA #IMPLIED
  %common-atts;
>

<!--
============================================================
============================================================
HL7 V2.3 table definitions

document.state.table refers to a proposed HL7-defined table, which we've temporarily numbered Z001.
sex.table refers to the HL7-defined table 0001.
============================================================
============================================================
-->

<!ENTITY % document.state.table 
  " ( original 
    | addendum 
    | replacement
    )
" >
 
<!ENTITY % sex.table
  " ( female 
    | male 
    | other 
    | unknown
    ) 
">
 
<!--
============================================================
============================================================
HL7 V2.3.1 data type definitions

Data type definitions represent HL7 content models to permit
alteration in the internal subset if the HL7 content models
change.

HL7 datatypes are defined in Chapter 2 of the HL7 V2.3x Standard.============================================================
============================================================
-->

<!--
***********************************
Coded element (CE)
***********************************
-->
<!ENTITY % Coded_element
  "( identifier?,
     text?,
     name.of.coding.system?,
     alternate.identifier?,
     alternate.text?,
     name.of.alternate.coding.system?,
     local.header*
   )"
>

<!--
***********************************
Extended composite ID with check digit (CX)
***********************************
-->
<!ENTITY % Id_with_checkdigit 
  "( id.value, 
     check.digit?, 
     check.digit.scheme?, 
     assigning.authority?, 
     identifier.type.code?, 
     assigning.facility.id?, 
     local.header*
   )"
>
<!--
***********************************
Entity identifier (EI)
***********************************
-->
<!ENTITY % Entity_identifier 
  "( id.value, 
     namespace.id?, 
     universal.id?, 
     universal.id.type?,
     local.header*
   )"
>
<!--
***********************************
Hierarchical designator (HD)
***********************************
-->
<!ENTITY % Hierarchical_designator 
  "( namespace.id?,
     universal.id?, 
     universal.id.type?, 
     local.header*
  )"
>
<!--
***********************************
Coded values for HL7 tables (ID)
***********************************
-->
<!ENTITY % HL7_coded_values 
  "( #PCDATA
   | local.header
   )*
">

<!--
***********************************
Coded value for user-defined tables (IS)
***********************************
-->
<!ENTITY % User_defined_values 
  "( #PCDATA
   | local.header
   )*
">

<!--
***********************************
Numeric (NM)
***********************************
-->
<!ENTITY % Numeric 
  "( #PCDATA
   | local.header
   )*
">
<!--
***********************************
Person location (PL)
***********************************
-->
<!ENTITY % Person_location 
  "( id.value?, 
     point.of.care?, 
     room?, 
     bed?, 
     facility?, 
     location.status?, 
     Person_location.type?, 
     building?, 
     floor?, 
     location.description?, 
     local.header*
  )"
>
<!--
***********************************
String (ST)
***********************************
-->
<!ENTITY % String 
  "( #PCDATA
   | local.header
   )*
">
<!--
***********************************
Time stamp (TS)
***********************************
-->
<!ENTITY % Time_stamp 
  "( #PCDATA
   | local.header
   )*
">
<!--
***********************************
Extended address (XAD)
***********************************
-->
<!ENTITY % Extended_address 
  "( street.address?, 
     other.designation?, 
     city?, 
     state.or.province?, 
     zip.or.postal.code?, 
     country?, 
     address.type?, 
     other.geographic.designation?, 
     county.parish.code?, 
     census.tract?, 
     address.representation.code?, 
     local.header*
  )"
>
<!--
***********************************
Extended composite ID number and name (XCN)
***********************************
-->
<!ENTITY % Extended_person_name_and_id 
  "( id.value, 
     family.name?, 
     last.name.prefix?, 
     given.name?, 
     mi?,
     suffix?, 
     prefix?, 
     degree?, 
     source.table?, 
     assigning.authority?, 
     name.type.code?, 
     check.digit?, 
     check.digit.scheme?, 
     identifier.type.code?, 
     assigning.facility.id?, 
     name.representation.code?, 
     local.header*
  )"
>
<!--
***********************************
Extended composite name and ID number 
for organizations (XON)
***********************************
-->

<!ENTITY % Extended_org_name_and_id 
  "( id.value, 
     organization.name?, 
     organization.name.type.code?, 
     check.digit?, 
     check.digit.scheme?, 
     assigning.authority?, 
     identifier.type.code?,
     assigning.facility.id?, 
     name.representation.code?, 
     local.header*
  )"
>
<!--
***********************************
Extended person name (XPN)
***********************************
-->
<!ENTITY % Extended_person_name 
  "( family.name?, 
     given.name?, 
     last.name.prefix?, 
     mi?, 
     suffix?, 
     prefix?, 
     degree?, 
     name.type.code?, 
     name.representation.code?, 
     local.header*
  )"
>
<!--
***********************************
Extended telecommunications number (XTN)
***********************************
-->
<!ENTITY % Extended_telecomm_number 
  "( number?, 
     telecommunication.use.code?, 
     telecommunication.equipment.type?, 
     email.address?, 
     country.code?, 
     area.city.code?, 
     phone.number?, 
     extension?, 
     any.text?, 
     local.header*
  )"
>


<!--
============================================================
============================================================
Header

============================================================
============================================================
-->

<!ELEMENT header 
  ( document, 
    event, 
    patient, 
    practitioner+, 
    local.header*
)>
<!ATTLIST header 
  version CDATA #FIXED "0.01"
  %common-atts;
  RIM.version CDATA #FIXED "0.86a"

>
 
<!ELEMENT document 
  (document.attestation*, 
   document.creation.date, 
   document.edit.date*, 
   document.format?, 
   document.id, 
   document.originating.system, 
   document.originator.id, 
   document.parent.id?, 
   document.state, 
   document.title?, 
   document.type, 
   local.header*
)>
<!ATTLIST document
  %common-atts;
>
 
<!ELEMENT event 
  (event.id, 
   event.date, 
   event.location.id?, 
   event.address?, 
   local.header*
)>
<!ATTLIST event
  %common-atts;
>
 
<!ELEMENT patient 
  (patient.id, 
   patient.alternate.id*, 
   patient.name, 
   patient.alternate.name*, 
   patient.mothers.maiden.name?, 
   patient.date.of.birth?, 
   patient.sex*, 
   patient.address*, 
   patient.phone*, 
   local.header*
)>
<!ATTLIST patient
  %common-atts;
>
 
<!ELEMENT practitioner 
  (practitioner.id, 
   practitioner.role*, 
   practitioner.address*, 
   practitioner.phone*, 
   local.header*
)>
<!ATTLIST practitioner
  %common-atts;
>
  
<!--
============================================================
============================================================
Header Elements

============================================================
============================================================
-->

<!ELEMENT document.attestation 
  (document.attestation.person.id, 
   document.attestation.date
)>
<!ATTLIST document.attestation
  %common-atts;
>
 
<!--
***********************************
Date/time the document was attested to 
(either manually or electronically).
***********************************
-->
<!ELEMENT document.attestation.date %Time_stamp;>
<!ATTLIST document.attestation.date
  %common-atts;
  HL7.datatype CDATA #FIXED "TS"
  RIM.attribute CDATA #FIXED "Clinical_document_header.authentication_dt"
>
 
<!--
***********************************
The person who has attested to the document 
(either manually or electronically). 
***********************************
-->
<!ELEMENT document.attestation.person.id %Extended_person_name_and_id;>
<!ATTLIST document.attestation.person.id
  %common-atts;
  HL7.datatype CDATA #FIXED "XCN"
  RIM.attribute CDATA #FIXED "Stakeholder_identifier.id"
>
 
<!--
***********************************
Date/time the document was created 
(i.e., dictated, recorded, etc.).
***********************************
-->
<!ELEMENT document.creation.date %Time_stamp;>
<!ATTLIST document.creation.date
  %common-atts;
  HL7.datatype CDATA #FIXED "TS"
  RIM.attribute CDATA #FIXED "Clinical_document_header.origination_dt"
>

<!--
***********************************
Date/time the document was edited. 
NOTE: Edits occur before attestation and do 
not result in a new document.
***********************************
-->
<!ELEMENT document.edit.date %Time_stamp;>
<!ATTLIST document.edit.date
  %common-atts;
  HL7.datatype CDATA #FIXED "TS"
  RIM.attribute CDATA #FIXED "Clinical_document_header.last_edit_dt"
>

<!--
***********************************
Used to specify a non-xml format of the 
document body. If format is non-xml, body must 
be MIME-encoded. 

Note: Use of other in this element is used
differently than in other elements.

***********************************
-->
<!ELEMENT document.format %Coded_element;>
<!ATTLIST document.format
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
  RIM.attribute CDATA #FIXED "Clinical_document_header.content_presentation_cd"
>

<!--
***********************************
A unique document identification 
assigned by the originating system.  
***********************************
-->
<!ELEMENT document.id %Entity_identifier;>
<!ATTLIST document.id
  %common-atts;
  HL7.datatype CDATA #FIXED "EI"
  RIM.attribute CDATA #FIXED "Clinical_document_header.id"
>
 
<!--
***********************************
The site where the document originates, and 
the site responsible for assigning the other 
identifiers occurring in the document. 

There is no globally unique identifier for an
originating system. The data type XON has a required 
first component, id.value, which for now can be null.
***********************************
-->
<!ELEMENT document.originating.system %Extended_org_name_and_id;>
<!ATTLIST document.originating.system
  %common-atts;
  HL7.datatype CDATA #FIXED "XON"
  RIM.attribute CDATA #FIXED "Patient_service_location.id"
>

<!--
***********************************
The person (or potentially the machine) 
who originated (e.g., dictated) the document.  
The document originator may or may not be 
the person responsible for authenticating the 
document.
***********************************
-->
<!ELEMENT document.originator.id %Extended_person_name_and_id;>
<!ATTLIST document.originator.id
  %common-atts;
  HL7.datatype CDATA #FIXED "XCN"
  RIM.attribute CDATA #FIXED "Stakeholder_identifier.id"
>

<!--
***********************************
A unique document identification that 
identifies the parent document to which 
this document belongs (is a version of).

NOTE: This field is required 
if the current document represents an 
addendum or replacement document.
***********************************
-->
<!ELEMENT document.parent.id %Entity_identifier;>
<!ATTLIST document.parent.id
  %common-atts;
  HL7.datatype CDATA #FIXED "EI"
  RIM.attribute CDATA #FIXED "Clinical_document_header.id"
>
 
<!--
***********************************
Specifies state information about the document, 
including whether it is intended to append or 
replace an existing document 
(e.g., original, addendum, replacement). 
See HL7 Table Z001 for values.
***********************************
-->
<!ELEMENT document.state EMPTY>
<!ATTLIST document.state
  %common-atts;
  HL7.datatype CDATA #FIXED "ID.EN"
  RIM.attribute CDATA #FIXED "Clinical_document_header.change_reason_cd"
  domain CDATA #FIXED "HL7Z001"
  value  %document.state.table; #REQUIRED 
>

<!--
***********************************
The title given the document by the 
originating institution.
***********************************
-->
<!ELEMENT document.title %String;>
<!ATTLIST document.title
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
  RIM.attribute CDATA #FIXED "Clinical_document_header.file_nm"
>

<!--
***********************************
The category or classification type of document. 
***********************************
-->
<!ELEMENT document.type %Coded_element;>
<!ATTLIST document.type
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
  RIM.attribute CDATA #FIXED "Clinical_document_header.type_cd"
>

<!--
***********************************
The address where the event took place.
***********************************
-->
<!ELEMENT event.address %Extended_address;>
<!ATTLIST event.address
  %common-atts;
  HL7.datatype CDATA #FIXED "XAD"
  RIM.attribute CDATA #FIXED "Patient_service_location.addr"
>

<!--
***********************************
Date/time the event took place.
***********************************
-->
<!ELEMENT event.date %Time_stamp;>
<!ATTLIST event.date
  %common-atts;
  HL7.datatype CDATA #FIXED "TS"
  RIM.attribute CDATA #FIXED "Service_event.begin_dttm"
>
 
<!--
***********************************
A unique event identification assigned 
by the originating system.
***********************************
-->
<!ELEMENT event.id %Id_with_checkdigit;>
<!ATTLIST event.id
  %common-atts;
  HL7.datatype CDATA #FIXED "CX"
  RIM.attribute CDATA #FIXED "Patient_encounter.id"
>

<!--
***********************************
A unique event location identifier assigned 
by the originating system indicating where 
the event took place.
***********************************
-->

<!ELEMENT event.location.id %Person_location;>
<!ATTLIST event.location.id
  %common-atts;
  HL7.datatype CDATA #FIXED "PL"
  RIM.attribute CDATA #FIXED "Patient_service_location.id"
>

<!--
***********************************
Patient's address. May be helpful to unambiguously 
identify a particular patient. 
***********************************
-->
<!ELEMENT patient.address %Extended_address;>
<!ATTLIST patient.address
  %common-atts;
  HL7.datatype CDATA #FIXED "XAD"
  RIM.attribute CDATA #FIXED "Stakeholder.addr"
>

<!--
***********************************
Other identifiers by which the patient 
may be known, and which may be used to 
unambiguously identify a particular patient. 

***********************************
-->
<!ELEMENT patient.alternate.id %Extended_org_name_and_id;>
<!ATTLIST patient.alternate.id
  %common-atts;
  HL7.datatype CDATA #FIXED "XON"
  RIM.attribute CDATA #FIXED "Stakeholder_identifier.id"
>

<!--
***********************************
Other names by which the patient is or has 
been known, including previous legal names. 
May be helpful to unambiguously identify a 
particular patient.
***********************************
-->
<!ELEMENT patient.alternate.name %Extended_person_name;>
<!ATTLIST patient.alternate.name
  %common-atts;
  HL7.datatype CDATA #FIXED "Extended_person_name"
  RIM.attribute CDATA #FIXED "Person_alternate_name.prsnm"
>

<!--
***********************************
Patient's date and time of birth. 
May be helpful to unambiguously identify 
a particular patient.
***********************************
-->
<!ELEMENT patient.date.of.birth %Time_stamp;>
<!ATTLIST patient.date.of.birth
  %common-atts;
  HL7.datatype CDATA #FIXED "TS"
  RIM.attribute CDATA #FIXED "Person.birth_dttm"
>

<!--
***********************************
A unique patient identifier assigned 
by the originating system.
***********************************
-->
<!ELEMENT patient.id %Extended_org_name_and_id;>
<!ATTLIST patient.id
  %common-atts;
  HL7.datatype CDATA #FIXED "XON"
  RIM.attribute CDATA #FIXED "Stakeholder_identifier.id"
>
 
<!--
***********************************
The family name under which the mother was born 
(i.e., before marriage). It is used to distinguish 
between patients with the same last name. 
May be helpful to unambiguously identify a 
particular patient.
***********************************
-->
<!ELEMENT patient.mothers.maiden.name %Extended_person_name;>
<!ATTLIST patient.mothers.maiden.name
  %common-atts;
  HL7.datatype CDATA #FIXED "XPN"
  RIM.attribute CDATA #FIXED "Stakeholder_identifier.id"
>

<!--
***********************************
The current legal name of the patient. 
***********************************
-->
<!ELEMENT patient.name %Extended_person_name;>
<!ATTLIST patient.name
  %common-atts;
  HL7.datatype CDATA #FIXED "XPN"
  RIM.attribute CDATA #FIXED "Person.primary_prsnm"
>

<!--
***********************************
Patient's phone number(s). 
Components of the XTN data type distinguish 
home phone from work phone. 
***********************************
-->
<!ELEMENT patient.phone %Extended_telecomm_number;>
<!ATTLIST patient.phone
  %common-atts;
  HL7.datatype CDATA #FIXED "XTN"
  RIM.attribute CDATA #FIXED "Stakeholder.phon"
>
 
<!--
***********************************
Patient's gender. May be helpful to unambiguously 
identify a particular patient. 
See HL7 Table 0001 for values.
***********************************
-->
<!ELEMENT patient.sex EMPTY>
<!ATTLIST patient.sex
  %common-atts;
  HL7.datatype CDATA #FIXED "ID.EN"
  RIM.attribute CDATA #FIXED "Person.gender_cd"
  domain CDATA #FIXED "HL70001"
  value %sex.table; #REQUIRED 
>

<!--
***********************************
The unique identifier of the practitioner providing 
health care services during the event.  
***********************************
-->
<!ELEMENT practitioner.id %Extended_person_name_and_id;>
<!ATTLIST practitioner.id
  %common-atts;
  HL7.datatype CDATA #FIXED "XCN"
  RIM.attribute CDATA #FIXED "Stakeholder_identifier.id"
>

<!--
***********************************
The address(es) of the practitioner 
***********************************
-->
<!ELEMENT practitioner.address %Extended_address;>
<!ATTLIST practitioner.address
  %common-atts;
  HL7.datatype CDATA #FIXED "XAD"
  RIM.attribute CDATA #FIXED "Person_employment.addr"
>

<!--
***********************************
The phone number(s) of the practitioner.
***********************************
-->
<!ELEMENT practitioner.phone %Extended_telecomm_number;>
<!ATTLIST practitioner.phone
  %common-atts;
  HL7.datatype CDATA #FIXED "XTN"
  RIM.attribute CDATA #FIXED "Person_employment.phon"
>
 
<!--
***********************************
The relationship of the practitioner to the patient. 
***********************************
-->
<!ELEMENT practitioner.role %Coded_element;>
<!ATTLIST practitioner.role
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
  RIM.attribute CDATA #FIXED "Encounter_practitioner.participation_type_cd"
>
 
<!--
============================================================
============================================================
Data type components
============================================================
============================================================
-->
<!ELEMENT address.representation.code %HL7_coded_values;> 
<!ATTLIST address.representation.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>

<!ELEMENT address.type %HL7_coded_values;> 
<!ATTLIST address.type 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>

<!ELEMENT alternate.identifier %String;>
<!ATTLIST alternate.identifier
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT alternate.text %String;>
<!ATTLIST alternate.text
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT any.text %String;> 
<!ATTLIST any.text 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT area.city.code %Numeric;> 
<!ATTLIST area.city.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "NM"
>

<!ELEMENT assigning.authority %Hierarchical_designator;> 
<!ATTLIST assigning.authority 
  %common-atts;
  HL7.datatype CDATA #FIXED "HD"
>

<!ELEMENT assigning.facility.id %Hierarchical_designator;> 
<!ATTLIST assigning.facility.id 
  %common-atts;
  HL7.datatype CDATA #FIXED "HD"
>

<!ELEMENT bed %User_defined_values;> 
<!ATTLIST bed 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT building %User_defined_values;> 
<!ATTLIST building 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT census.tract %User_defined_values;> 
<!ATTLIST census.tract 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT check.digit %Numeric;> 
<!ATTLIST check.digit 
  %common-atts;
  HL7.datatype CDATA #FIXED "NM"
>
<!ELEMENT check.digit.scheme %HL7_coded_values;> 
<!ATTLIST check.digit.scheme 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>

<!ELEMENT city %String;> 
<!ATTLIST city 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT country %HL7_coded_values;> 
<!ATTLIST country 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>
<!ELEMENT country.code %Numeric;> 
<!ATTLIST country.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "NM"
>

<!ELEMENT county.parish.code %User_defined_values;> 
<!ATTLIST county.parish.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT degree %String;> 
<!ATTLIST degree 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT email.address %String;> 
<!ATTLIST email.address 
  %common-atts;
HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT extension %Numeric;> 
<!ATTLIST extension 
  %common-atts;
  HL7.datatype CDATA #FIXED "NM">

<!ELEMENT facility %Hierarchical_designator;> 
<!ATTLIST facility 
  %common-atts;
  HL7.datatype CDATA #FIXED "HD"
>

<!ELEMENT family.name %String;> 
<!ATTLIST family.name 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT floor %User_defined_values;> 
<!ATTLIST floor 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT given.name %String;> 
<!ATTLIST given.name 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT id.value %String;> 
<!ATTLIST id.value 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT identifier %String;>
<!ATTLIST identifier
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT identifier.type.code %User_defined_values;> 
<!ATTLIST identifier.type.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT last.name.prefix %String;> 
<!ATTLIST last.name.prefix 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT location.description %String;> 
<!ATTLIST location.description 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT location.status %User_defined_values;> 
<!ATTLIST location.status 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT mi %String;> 
<!ATTLIST mi 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT namespace.id %User_defined_values;> 
<!ATTLIST namespace.id 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT name.of.alternate.coding.system %String;>
<!ATTLIST name.of.alternate.coding.system
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT name.of.coding.system %String;>
<!ATTLIST name.of.coding.system
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT name.representation.code %HL7_coded_values;> 
<!ATTLIST name.representation.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>

<!ELEMENT name.type.code %HL7_coded_values;> 
<!ATTLIST name.type.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"

>
<!ELEMENT number %String;> 
<!ATTLIST number 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT organization.name %String;> 
<!ATTLIST organization.name 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT organization.name.type.code %String;> 
<!ATTLIST organization.name.type.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT other.designation %String;> 
<!ATTLIST other.designation 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT other.geographic.designation %String;> 
<!ATTLIST other.geographic.designation 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
> 
<!ELEMENT Person_location.type %User_defined_values;> 
<!ATTLIST Person_location.type 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT phone.number %Numeric;> 
<!ATTLIST phone.number 
  %common-atts;
  HL7.datatype CDATA #FIXED "NM"
>

<!ELEMENT point.of.care %User_defined_values;> 
<!ATTLIST point.of.care 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT prefix %String;> 
<!ATTLIST prefix 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT room %User_defined_values;> 
<!ATTLIST room 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT source.table %User_defined_values;> 
<!ATTLIST source.table 
  %common-atts;
  HL7.datatype CDATA #FIXED "IS"
>

<!ELEMENT state.or.province %String;> 
<!ATTLIST state.or.province 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT street.address %String;> 
<!ATTLIST street.address 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT suffix %String;> 
<!ATTLIST suffix 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT telecommunication.equipment.type %HL7_coded_values;> 
<!ATTLIST telecommunication.equipment.type 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>

<!ELEMENT telecommunication.use.code %HL7_coded_values;> 
<!ATTLIST telecommunication.use.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>

<!ELEMENT text %String;>
<!ATTLIST text
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT universal.id %String;> 
<!ATTLIST universal.id 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>

<!ELEMENT universal.id.type %HL7_coded_values;> 
<!ATTLIST universal.id.type 
  %common-atts;
  HL7.datatype CDATA #FIXED "ID"
>

<!ELEMENT zip.or.postal.code %String;> 
<!ATTLIST zip.or.postal.code 
  %common-atts;
  HL7.datatype CDATA #FIXED "ST"
>


