XML Schema Browser - hospitalMCDRequest Version 450

Documentation
hospitalMCDRequest V450

produced by Forum Datenaustausch

Permission to use, and distribute this schema and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies and the schema file is not altered.

The copyright holders make no representation about the suitability of the schema for any purpose.

It is provided "as is" without expressed or implied warranty.
The Forum Datenaustausch has endorsed this schema
as standard in the meeting on 2nd September 2016.

The standard becomes applicable on 1st January 2017.

Copyright (©) by Forum Datenaustausch, 02.09.2016 - all rights reserved


Revision history of the documentation

Documentation of hospitalMCDRequest_450.xsd

Copyright (©) by Forum Datenaustausch, 02.09.2016
All rights reserved

Revision history of the documentation

The following reversed chronological list shows the revision history of this documentation.

The revision history defines the time evolution of the documentation in the sense of a more precise phrasing and/or added parts.
However, the underlying hospitalMCDRequest_450.xsd schema is not changed due to such an entry.
  • Revision 1 from 02.09.2016


Revision history: Documentation revision 1

Documentation revision 1

Rev. 1/02.09.2016: the following subparts of the documentation have been refined and/or added:
  • Initial documentation of the hospitalMCDRequest_450.xsd schema


Preface

Preface

Audience of this documentation
The target audience of this documentation are primarily software developers of the Swiss healthcare sector.
An understanding of Swiss healthcare concepts (e.g. Tiers garant vs. Tiers payant and the like) as well as at least a basic knowledge about XSD schemas is presumed to be known.
How to use this documentation
There are two different views of this documentation.
  • the Hierarchical list view starts from the topmost object. By selecting a shown element one can explore the whole schema space in a recursive descent approach.
  • the Alphabetical list view is for those who are already familiar with the overall structure and concepts. As the name implies one can select from an alphabetical list of elements.

Comments and questions
Please address comments and questions concerning this documentation via either the website Forum Datenaustausch or the email address info@forum-datenaustausch.ch


Forum Datenaustausch

Forum Datenaustausch

Im "Forum Datenaustausch" haben sich verschiedene Akteure des Schweizer Gesundheitswesens zusammengeschlossen. Das Forum verfolgt u.a. das Ziel, einheitliche, gemeinsam entwickelte Standards für den elektronischen Datenaustausch festzusetzen.

Forumsmitglieder sind die Verbände der Leistungserbringer FMH, H+ und der Schweizerische Apothekerverband (SAV), auf Seiten der Kostenträger sind es santésuisse, der Schweizerische Versicherungsverband (SVV) sowie die Suva, die Militärversicherung und die Invalidenversicherung (IV).

Die vom Forum verabschiedeten Standards, wie die XML-Nachrichten zum elektronischen Datenaustausch, werden hier publiziert. Dazu gehört auch die elektronische, XML basierende Leistungsabrechnung für Ärzte und Spitäler.

Die Gesellschaft bezweckt die Vereinheitlichung der Standards des elektronischen Datenaustausches im Schweizer Gesundheitswesen zwischen Leistungserbringern und Kostenträgern. Ziel ist die Festlegung von Grundsätzen mit Bezug auf die Übermittlungsstandards, die Referenzstammdaten sowie mit Bezug auf die Kriterien betreffend die Datensicherheit. Damit soll den Gesellschaftern der Aufbau von Kooperationsbeziehungen im Bereich des elektronischen Datenaustausches erleichtert werden.
Différents acteurs du domaine de la santé publique suisse se sont joints au "Forum Datenaustausch". L'objectif du forum consiste, entre autres, à établir des standards uniformes élaborés en commun pour l'échange électronique de données.

Les membres du forum sont les associations de prestataires FMH, H+ et la Société Suisse des Pharmaciens (SSPh) ainsi que, du côté des assureurs, santésuisse, l'Association Suisse d'Assurances (ASA), la Suva, l'assurance militaire et l'assurance invalidité (AI).

Les standards établis par le forum, tels les messages XML pour l'échange électronique de données, seront publiés ici. Ils englobent également le décompte électronique de prestations basé sur XML pour les médecins et les hôpitaux.

La société a pour but d'uniformiser les standards relatifs au transfert électronique de données dans la domaine de la santé suisse entre fournisseurs de prestations et assureurs. L'objectif consiste à déterminer des principes liés aux standards de transmission, aux données de base de référence ainsi qu'aux critères concernant la sécurité des données. Pour les membres de la société, cela devrait faciliter l'établissement de relations de coopération dans le domaine du transfert électronique de données.


Copyright (©) notice

Copyright (©) notice

This is a normative standard for the Swiss Public Health Service

Permission to use, and distribute this schema and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies and this schema file is not altered. The copyright holders make no representation about the suitability of the schema for any purpose.

It is provided "as is" without expressed or implied warranty.


Purpose of the schema file

Purpose of the schema file

This is the schema definition for a hospital "Minimal clinical dataset" (MCD) request process encoded in XML. The content is a minimal clinical dataset of a hospital that basically defines the requiered input to a DRG grouper. All patient data is anonymized.

The hospitalMCDRequest is generated by a health care provider either parallel to a generated invoice and then sent with the "General Request Container" process or upon a related response code from an invoice sent. The subchapter Purpose/Anatomy of a request provides a broad overview about the building blocks of a request.

Each individual request is defined by a unique triple of data denoted as object reference.
A "Hospital MCD Request" can hold a maximum of 2 object references, namely

  • a mandatory invoice object reference from the initial "General Invoice Request" process
  • a mandatory mcd object reference given from the initial "Hospital MCD Request" process
This set of object references by itself defines an ordered object reference chain (invoice -> mcd) with the topmost object reference as unique identification of the XML request. The subchapter Purpose/Object reference provides an in-depth description of the concepts of "object reference", "object reference chain", and "topmost object reference".

Besides the topmost object reference the XML request is further specified by a set of process attributes, namely

  • the optional copy attribute defining the XML request as an identical copy of an initial request.
  • the optional storno attribute canceling the XML request defined by the topmost object reference.
The copy and storno attributes can be combined to form a total of 4 different combinations. The subchapter Purpose/Process attributes provides an in-depth description of these attributes.

Upon receiving the XML request the recipient can respond by [0,n] "Hospital MCD Response" messages, whereas the content per definition defines an answer to the topmost object reference - and only to that object!

This XML project is normative for the electronic MCD process in Switzerland.


Conventions, terms, and definitions used

Conventions, terms, and definitions used

This paragraph describes the conventions, terms, and definitions used in the documentation of the XSD schema files. It is assumed that the reader has at least a basic understanding of XSD schemas. Therefore, if there is an ambiguous description or insufficient documentation regarding the XSD schemas itself, you need to look up the official XSD schema definitions at W3C at http://www.w3c.org, this is especially true when using the signature and encryption mechanism.

Character entities
Since some characters in a XML infoset are forbidden these characters must be encoded via character entities. The table shows these special characters and their character entity counterparts.
& => &amp;
' => &apos;
> => &gt;
< => &lt;
" => &quot;

Basic XSD data types used
boolean | boolean has the value space required to support the mathematical concept of binary-valued logic: {true, false}. An instance of a data type that is defined as boolean can have the following legal literal value {true, false, 1, 0}.
double | The double data type corresponds to IEEE double-precision 64-bit floating point type [IEEE 754-1985]. The basic value space of double consists of the values m x 2^e, where m is an integer whose absolute value is less than 2^53, and e is an integer between -1075 and 970, inclusive.
enumeration | enumeration constrains the value space to a specified set of values.
int | int is derived from a 32bit integer by setting the value of maxInclusive and minInclusive to be 2147483647 and -2147483648.
NMTOKEN | NMTOKEN represents a token concept. The value space of NMTOKEN is the set of tokens (strings) that match the production.
pattern | pattern is a constraint on the value space of a data type, which is achieved by constraining the lexical space to literals, which match a specific pattern. The value of pattern must be a regular expression.
string | The string data type represents character strings. The value space of string is the set of finite-length sequences of characters. A character is an atomic unit of communication.


Anatomy of a request

Anatomy of a request

The following figure shows the various building blocks, their meanings and dependencies on each other, that eventually form a request.
The building block processing is a container for processing instructions e.g. transport routing.
The building block payload is the container that holds the explicit data.
The building block for reference objects
The building block body is the data container. If encryption is used the container body is the target and will be replaced by the encrypted data xenc:EncryptedData
The building block ds:Signature holds the Signature data, whereas the container payload defines the signed part
Please note, that from a principle point of view these building blocks apart from processing are once generated unchangeable. Since the intermediate must include routing information or external institutions must validate the data, the processing block is outside the signature and encryption area and thus changeable.


Object reference,...

Object reference, ...

The following paragraphs define the concepts of object reference, object reference chain, and topmost object reference. These concepts are of high importance within the XML request/response system.

object reference

An object reference is an identification of an individual XML request defined by a unique triple of data, namely
  • timestamp (UNIX time) defined at the moment of generation
  • date of the object defined by the provider
  • id of the object defined by the provider
Each and every XML request is defined by such an object reference. All XML responses must copy the object reference from the request, thus the object reference is a clustered primary key!

object reference chain

As a consequence of the schema coded business logic most XML request schemas define more than just 1 object reference, e.g. a "General Invoice Request" can hold a maximum of 3 object references, namely
  • an optional credit object reference from the "General Credit Request" process
  • a mandatory invoice object reference from the initial "General Invoice Request" process
  • an optional reminder object reference given if the process encodes a reminder
whereas a "Hospital MCD Request" needs 2 object references
  • a mandatory invoice object reference from the "General Invoice Request" process
  • a mandatory mcd object reference from the " Hospital MCD Request" process
This set of object references by itself defines an ordered object reference chain (e.g. credit -> invoice -> reminder or invoice -> mcd) with the topmost object reference as unique identification of the XML request. Therefore the object reference chain defines -on business logic point of view- dependencies among different XML requests.

topmost object reference

The end node of an object reference chain is defined as topmost object reference, that is by definition the object reference of the XML request itself. Each request/response communication is always done for this topmost object reference – and only for that.

For example: a reminder XML request does reference an optional credit XML request (if the object reference was given in the initial invoice XML request). However, the reference of the initial invoice XML request for which a reminder process is started, is mandatory. The topmost object reference is then the object reference of the generated reminder process. Each XML response then references the topmost object reference for which it is a response. Such a response is never targeted for the corresponding invoice but only for the reminder!


Process attributes

Process attributes

An XML request is primarily defined by its topmost object reference (see Purpose::Object reference). However, the XML request is further characterized by a state that is formed by a set of Boolean process attributes, namely

copy attribute

The copy attribute defines the XML request as an identical copy of an initial request.
The absence of the copy attribute in reverse defines the XML request as "normal" (initial) request.

It is considered an error to send a XML request with turned on copy attribute without having prior sent a "normal" request.

storno attribute

The storno attribute cancels the XML request defined by the topmost reference object.
The absence of the storno attribute in reverse defines the XML request as "normal" request.

It is considered an error to send a XML request with turned on storno attribute without having prior sent a "normal" request.

The copy and storno attributes can be combined to form a total of 4 different combinations.


Notes about the signature

Notes about the signature

XML signatures are digital signatures designed for use in XML transactions. The W3C standard defines a schema for capturing the result of a digital signature operation applied to an infoset. XML signatures add authentication, data integrity, and support for non-repudiation to the data that they sign.
However, it is beyond the scope of this documentation to explain all details of a signature or the signing process. Detailed information about all aspects of signatures can be found at W3C.

Boundary conditions and critical aspects
  • the signature is optional!
  • if an infoset is signed then the private certificate of the sender must be used and this certificate is applied to the payload element. This inherently qualifies for a detached signature.
    sender is used here in terms of the communication and therefore is defined as the EAN entity given in the transport@from attribute.
  • the URI attribute of the reference element must use a XPointer syntax of the payload element, e.g. <ds:Reference URI="#xpointer(/mcd:request/mcd:payload)">
  • The signature algorithm is fixed to PKCS1 (RSA-SHA1) (RFC 2437: RSA Cryptography Specifications)
  • The digest algorithm is fixed to SHA-1
  • the used canonicalization algorithm must be http://www.w3.org/2001/10/xml-exc-c14n#, the exclusive XML Canonicalization
  • it is recommended to add the public key via the X509Data element such that a key store can be built at the recipient's site.

As an example the Signature element looks like
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">>
 <SignedInfo>
  <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
  <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
  <Reference URI="#xpointer(/mcd:request/mcd:payload)">
   <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
   <DigestValue>...</DigestValue>
  </Reference>
 </SignedInfo>
 <SignatureValue>...</SignatureValue>
 <KeyInfo>
  <X509Data>
  <X509Certificate>...</X509Certificate>
  </X509Data>
 </KeyInfo>
</Signature>


Notes about the encryption

Notes about the encryption

XML Encryption is a specification, governed by a W3C recommendation, that defines how to encrypt the contents of an XML element. Although XML Encryption can be used to encrypt any kind of data, it is nonetheless known as "XML Encryption" because an XML element (either an EncryptedData or EncryptedKey element) contains or refers to the cipher text, keying information, and algorithms.
XML Encryption uses the KeyInfo element, which appears as the child of a EncryptedData element and provides information to a recipient about what keying material to use in decrypting encrypted data.

However, it is beyond the scope of this documentation to explain all details of a encryption or the encryption process. Detailed information about all aspects of encryption can be found at W3C.

Boundary conditions and critical aspects
  • The encryption is optional!
  • if an infoset is encrypted then the public certificate of the recipient must be used and this certificate is applied to the body element.
    recipient is used here in terms of the communication and therefore is defined as the EAN entity given in the transport@to attribute
  • The used X509 certificate for encryption must be the one with the highest serial number received by the counterpart XML so far.
    This allows for a seamless transfer to new certificates.
  • W3C's namespace http://www.w3.org/2001/04/xmlenc must be used- cf. XML Encryption Syntax and Processing
  • The encryption algorithm is fixed to PKCS1 (RSA-SHA1) (RFC 2437: RSA Cryptography Specifications)
  • The block encryption algorithm is fixed to Triple DES
  • It is highly recommended to supply a comma separated serialization of the issuer (in X509 canonical form) and serial number of the public certificate in the <KeyName> element. This allows the recipient to identify the used public certificate prior the decryption process.
    This information becomes essential as soon as the validity of one certificate is running out and a new one is propagated.

As an example the EncryptedData element looks like
<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
 <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
 <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
  <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
   <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
   <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <KeyName>C=CH, S=ZH, L=Zurich, O=Health Insurance Company, OU=HI Manager App, serial=4E55FF58</KeyName>
   </KeyInfo>
   <CipherData>
    <CipherValue>...</CipherValue>
   </CipherData>
  </EncryptedKey>
 </KeyInfo>
 <CipherData>
  <CipherValue>...</CipherValue>
 </CipherData>
</EncryptedData>


Sequence of Sign & Crypt...

Sequence of Sign & Crypt...

The signature and encryption boundary conditions are in detail documented in the subchapters «Purpose::Signature» and «Purpose::Encryption».
However, if both the signature and encryption processes are applied to a XML infoset it is of uttermost importance to apply the correct sequence of operation.

Sequence of operation
  1. the signature process is applied to the raw XML infoset
  2. the encryption process is applied to the signed XML infoset
Of course, the sequence of operation is reversed when a signed and encrypted XML infoset is loaded.
This sequence is required and must be obeyed otherwise the
decryption and the check of the signature validity is at risk!


Preamble of schema file

Preamble of schema file

The preamble of the schema file is defined as follows:
<schema targetNamespace="http://www.forum-datenaustausch.ch/mcd"
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
        xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
        xmlns:mcd="http://www.forum-datenaustausch.ch/mcd"
        elementFormDefault="qualified" attributeFormDefault="unqualified">
From this definition it is evident that all elements must be qualified that is defined with the namespace tag mcd followed by the element name. Furthermore, the target namespace and the specific namespace mcd maps to http://www.forum-datenaustausch.ch/mcd.
The xenc and ds namespaces are used by the encryption and signature elements which can optionally be used in an infoset.

Therefore, to define a correct XML infoset the elements must be defined like the following XML code snippet (for german as data language):
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<mcd:request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
        xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
        xmlns:mcd="http://www.forum-datenaustausch.ch/mcd"
        xmlns="http://www.forum-datenaustausch.ch/mcd"
        xsi:schemaLocation="http://www.forum-datenaustausch.ch/mcd hospitalMCDRequest_450.xsd"
        language="de" modus="production" validation_status="0" >
XML elements go here...

 </mcd:request>


Hierarchical list of used XSD definitions

Hierarchical list of used XSD definitions

The following subchapters list all XSD definitions of the schema in hierarchical order going from the topmost element request down as the appropriate definition is encountered.


element request

Annotation The request element is the root of the hospitalMCDRequest process.
The request is divided into 2 parts
  • the processing element supplies the necessary data for the transport
  • the payload element supplies the MCD data
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:requestType
properties
content complex
children | mcd:processing mcd:payload ds:Signature
attributes parameters
Name | Type | Use | Default | Fixed
language | derived by: NMTOKEN | required
modus | derived by: NMTOKEN | production
validation_status | long
is_confidential | boolean | false
attributes annotations
Name | Notes
language | language defines the used data language (name of the services etc.) encoded by a terminal set of ISO language specifiers.
modus | modus defines the operating modus encoded by a terminal set of tokens
validation_status validation_status defines the validity status of XML infoset after the infoset is generated and validated by a DOM. 0 or absence of the attribute means OK.
It is possible to knowingly encode an XML infoset that is not well formed or invalid regarding its content. validation_status then signals an error condition to the recipient.
is_confidential is_confidential is the flag for defining the confidentiality status of a MCD document when addressed and transmitted to a consulting physician (CE) in accordance with Article 42 (5) of the Swiss Federal Act on Health Insurance (KVG).

By using the flag in the aforementioned case, the health provider declares that all medical information must be seen and used exclusively by the CE. Therefore, the case qualifies according to Article 42 (5) KVG.

attributes enumerations
Name | Extension | Base | Value | Annotations
language | NMTOKEN | de | the data language is german
language | NMTOKEN | fr | the data language is french
language | NMTOKEN | it | the data language is italian
modus | NMTOKEN | production | the modus production (default value) is for normal processing
modus | NMTOKEN | test | the modus test is for software developers to test the processing.
source | <element name="request" type="mcd:requestType"/>


element requestType/processing

Annotation | The processing element is a container for processing instructions at an intermediate's site (e.g. transport routing).
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:processingType
properties
isRef | 0
content | complex
children | mcd:transport
source | <element name="processing" type="mcd:processingType"/>


element processingType/transport

Annotation | The transport element defines the routing of the infoset going from a sender party over any number of intermediates to a receiver party. All the involved parties are defined by Global Location Numbers (GLN) as defined by RefData
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:transportType
properties
isRef | 0
content | complex
children | mcd:via
attributes parameters
Name | Type | Use | Default | Fixed
from | mcd:eanPartyType | required
to | mcd:eanPartyType | required
attributes annotations
Name Notes
from from is the GLN party that initially sent the infoset to the first intermediate
Note, that the private certificate of this GLN party is used for the optional signature as outlined in the subchapter Purpose/Signature.
to to is the GLN party that eventually receives the infoset from the last intermediate.
Note, that the public certificate of this GLN party is used for the optional encryption as outlined in the subchapter Purpose/Encryption.
source | <element name="transport" type="mcd:transportType"/>


element transportType/via

Annotation The via element defines one intermediate hop through which the infoset was routed.
It is in the responsibility of an intermediate to correctly add a further via element if this intermediate has to route the infoset to another intermediate instead of deliver to the recipient.
diagram
namespace http://www.forum-datenaustausch.ch/mcd
properties
isRef | 0
minOcc | 1
maxOcc | unbounded
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
via | mcd:eanPartyType | required
sequence_id | unsignedShort | required
attributes annotations
Name | Notes
via | via is the GLN of an intermediate
sequence_id | sequence_id is a sequence number starting with 1 that defines a certain intermediate hop. In each new via element the sequence number is increased by 1 thus forming a chain of intermediate hops
source <element name="via" maxOccurs="unbounded">
<complexType>
<attribute name="via" type="mcd:eanPartyType" use="required"/>
<attribute name="sequence_id" type="unsignedShort" use="required"/>
</complexType>
</element>


element requestType/payload

Annotation | The payload element supplies the MCD data and will not be altered in the transport process. The payload can optionally be signed by at W3C signing process.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:payloadType
properties
isRef | 0
content | complex
children | mcd:invoice mcd:mcd mcd:body xenc:EncryptedData
attributes parameters
Name | Type | Use | Default | Fixed
storno | boolean | false
copy | boolean | false
attributes annotations
Name | Notes
storno | storno augments the MCD reference object by a storno command that is the MCD reference object is an identical clone (except for the storno attribute) of a prior sent request.
copy | copy augments the MCD reference object by a copy command that is the MCD reference object is an identical clone (except for the copy attribute) of a prior sent request.
source | <element name="payload" type="mcd:payloadType"/>


element payloadType/invoice

Annotation | The invoice element defines the unique invoice reference object for which the minimal clinical dataset is produced.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:invoiceType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
request_timestamp | derived by: unsignedLong | required
request_date | dateTime | required
request_id | mcd:stringType1_35 | required
attributes annotations
Name Notes
request_timestamp request_timestamp is a UNIX timestamp defined at the moment of the invoice's infoset generation
This is one of 3 identifiers that form the invoice object reference. request_timestamp will be generated once for a certain invoice object reference and thereafter always referenced!
request_date request_date is the main software's date of the invoice request ("Rechnungsdatum")
This is one of 3 identifiers that form the invoice object reference. request_date must be identical for the same invoice object reference!
request_id request_id is the main software's ID of the invoice request ("Rechnungsnummer")
This is one of 3 identifiers that form the invoice object reference. request_id must be identical for the same invoice object reference!
source | <element name="invoice" type="mcd:invoiceType"/>


element payloadType/mcd

Annotation The mcd element defines the unique MCD object. The corresponding invoice must be specified in the invoice reference object.
This object is firstly produced when generating the original MCD. Any further processing (sending a copy or canceling the MCD) references this same object unaltered!
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:mcdType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
request_timestamp | derived by: unsignedLong | required
request_date | dateTime | required
request_id | mcd:stringType1_35 | required
attributes annotations
Name Notes
request_timestamp request_timestamp is a UNIX timestamp defined at the moment of the MCD's infoset generation
This is one of 3 identifiers that form the MCD object reference. request_timestamp will be generated once for a certain MCD object reference and thereafter always referenced!
request_date request_date is the main software's date of the MCD request
This is one of 3 identifiers that form the MCD object reference. request_date must be identical for the same MCD object reference!
request_id request_id is the main software's ID of the MCD request
This is one of 3 identifiers that form the invoice object reference. request_id must be identical for the same MCD invoice object reference!
source | <element name="mcd" type="mcd:mcdType"/>


element payloadType/body

Annotation | The body element contains all the highly sensitive MCD data (data privacy relevant). Therefore the body element can be replaced by the encrypted counterpart xenc:EncryptedData
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:bodyType
properties
isRef | 0
content | complex
children | mcd:prolog mcd:remark mcd:biller mcd:provider mcd:insurance mcd:patient mcd:grouper mcd:documents
source | <element name="body" type="mcd:bodyType"/>


element bodyType/prolog

Annotation | The prolog element is a container that holds information about all involved software that eventually generated the infoset (XML generator, possibly used validators, and main software).
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:prologType
properties
isRef | 0
content | complex
children | mcd:package mcd:generator
source | <element name="prolog" type="mcd:prologType"/>


element prologType/package

Annotation | The package element defines the main software that supplies all data for the infoset
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:softwareType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
children | mcd:depends_on
attributes parameters
Name | Type | Use | Default | Fixed
name | mcd:stringType1_50 | required
copyright | mcd:stringType1_50
description | mcd:stringType1_50
version | unsignedInt
id | unsignedInt | 0
attributes annotations
Name | Notes
name | name defines the name of the software/module
copyright | copyright defines the copyright notice of the software/module
description | description supplies a short description of the software/module
version version defines the version of the software/module.
Since this is an integer coding use 100*main version + minor version as the version
id | id defines an unique id for the software/module (should such an id exist)
source | <element name="package" type="mcd:softwareType" minOccurs="0"/>


element softwareType/depends_on

Annotation The depends_on element defines a dependence upon a further software/module.
The dependence chain allows the definition of all involved software/modules that participated in the generation process.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:dependsOnType
properties
isRef | 0
minOcc | 0
maxOcc | unbounded
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
name | mcd:stringType1_50 | required
copyright | mcd:stringType1_50
description | mcd:stringType1_50
version | unsignedInt
id | unsignedInt | 0
attributes annotations
Name | Notes
name | name defines the name of the dependent software/module
copyright | copyright defines the copyright notice of the dependent software/module
description | description supplies a short description of the dependent software/module
version version defines the version of the dependent software/module.
Since this is an integer coding use 100*main version + minor version as the version
id | id defines an unique id for the dependent software/module (should such an id exist)
source | <element name="depends_on" type="mcd:dependsOnType" minOccurs="0" maxOccurs="unbounded"/>


element prologType/generator

Annotation The generator element defines the infoset generator.
It is assumed that there is an architectural distinction between package (main software) and generator like in a Sumex1 environment. If this is not the case then just define the same data here as in the package element.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:softwareType
properties
isRef | 0
content | complex
children | mcd:depends_on
attributes parameters
Name | Type | Use | Default | Fixed
name | mcd:stringType1_50 | required
copyright | mcd:stringType1_50
description | mcd:stringType1_50
version | unsignedInt
id | unsignedInt | 0
attributes annotations
Name | Notes
name | name defines the name of the software/module
copyright | copyright defines the copyright notice of the software/module
description | description supplies a short description of the software/module
version version defines the version of the software/module.
Since this is an integer coding use 100*main version + minor version as the version
id | id defines an unique id for the software/module (should such an id exist)
source | <element name="generator" type="mcd:softwareType"/>


element bodyType/remark

Annotation | The remark element supplies an optional remark for the MCD
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_350
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
facets
minLength | 1
maxLength | 350
source | <element name="remark" type="mcd:stringType1_350" minOccurs="0"/>


element bodyType/biller

Annotation | The biller element defines the biller of the corresponding invoice
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:billerAddressType
properties
isRef | 0
content | complex
children | mcd:company mcd:person
attributes parameters
Name | Type | Use | Default | Fixed
ean_party | mcd:eanPartyType | required
zsr | mcd:zsrPartyType
specialty | mcd:stringType1_350
uid_number | mcd:stringType1_15
attributes annotations
Name | Notes
ean_party | ean_party is the biller's GLN as defined by RefData
zsr | zsr is the biller's ZSR (KSK) as defined by Santésuisse
specialty | specialty is the biller's specialty (branch of medical science a medical person practices)
uid_number uid_number is the UID number in the electronic layout as defined by the "Swiss Federal Tax Administration".
In the electronic layout all punctuation characters ('-' and '.') are striped. Consequently, the UID number must be expanded appropriately prior to be printed, e.g.
  • CHE123456789 in the electronic layout is printed as CHE-123.456.789
source | <element name="biller" type="mcd:billerAddressType"/>


element billerAddressType/company

Annotation | The biller is a company given by the company element
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:companyType
properties
isRef | 0
content | complex
children | mcd:companyname mcd:department mcd:subaddressing mcd:postal mcd:telecom mcd:online
source | <element name="company" type="mcd:companyType"/>


element companyType/companyname

Annotation | The companyname element supplies the name of a company
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="companyname" type="mcd:stringType1_35"/>


element companyType/department

Annotation | The department element supplies the name of a the involved department of a company
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="department" type="mcd:stringType1_35" minOccurs="0"/>


element companyType/subaddressing

Annotation | The subaddressing element supplies further special information of a full address (e.g. c/o information and the like)
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="subaddressing" type="mcd:stringType1_35" minOccurs="0"/>


element companyType/postal

Annotation | The postal element depicts the postal part of a full address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:postalAddressType
properties
isRef | 0
content | complex
children | mcd:pobox mcd:street mcd:zip mcd:city
source | <element name="postal" type="mcd:postalAddressType"/>


element postalAddressType/pobox

Annotation | The pobox element supplies the post office box part of the postal address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="pobox" type="mcd:stringType1_35" minOccurs="0"/>


element postalAddressType/street

Annotation | The street element supplies the street part of the postal address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="street" type="mcd:stringType1_35" minOccurs="0"/>


element postalAddressType/zip

Annotation | The zip element supplies the zip part of the postal address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:zipType
properties
isRef | 0
content | complex
facets
minLength | 1
maxLength | 9
attributes parameters
Name | Type | Use | Default | Fixed
statecode | mcd:stringType1_9
countrycode | mcd:stringType1_3 | CH
attributes annotations
Name | Notes
statecode | statecode is an optional code for a state (e.g. the canton designator in Switzerland or the state in USA)
countrycode | countrycode is the ISO designator of the country ("CH" is the default value)
source | <element name="zip" type="mcd:zipType"/>


element postalAddressType/city

Annotation | The city element supplies the city part of the postal address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="city" type="mcd:stringType1_35"/>


element companyType/telecom

Annotation | The telecom element depicts the telecom related part of a full address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:telecomAddressType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
children | mcd:phone mcd:fax
source | <element name="telecom" type="mcd:telecomAddressType" minOccurs="0"/>


element telecomAddressType/phone

Annotation | The phone element supplies a telephone number (either landline or mobile)
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_25
properties
isRef | 0
minOcc | 1
maxOcc | 3
content | simple
facets
minLength | 1
maxLength | 25
source | <element name="phone" type="mcd:stringType1_25" maxOccurs="3"/>


element telecomAddressType/fax

Annotation | The fax element supplies a telefax number
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_25
properties
isRef | 0
minOcc | 0
maxOcc | 3
content | simple
facets
minLength | 1
maxLength | 25
source | <element name="fax" type="mcd:stringType1_25" minOccurs="0" maxOccurs="3"/>


element companyType/online

Annotation | The online element depicts the online related part of a full address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:onlineAddressType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
children | mcd:email mcd:url
source | <element name="online" type="mcd:onlineAddressType" minOccurs="0"/>


element onlineAddressType/email

Annotation | The email element supplies an email address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of mcd:stringType1_70
properties
isRef | 0
minOcc | 1
maxOcc | 3
content | simple
facets
minLength | 1
maxLength | 70
pattern .+@.+
source <element name="email" maxOccurs="3">
<simpleType>
<restriction base="mcd:stringType1_70">
<pattern value=".+@.+"/>
</restriction>
</simpleType>
</element>


element onlineAddressType/url

Annotation | The url element supplies any URI defined address (e.g. a homepage, facebook or twitter account etc.)
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of anyURI
properties
isRef | 0
minOcc | 0
maxOcc | 3
content | simple
facets
minLength | 1
maxLength | 100
source <element name="url" minOccurs="0" maxOccurs="3">
<simpleType>
<restriction base="anyURI">
<minLength value="1"/>
<maxLength value="100"/>
</restriction>
</simpleType>
</element>


element billerAddressType/person

Annotation | The biller is a person given by the person element
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:personType
properties
isRef | 0
content | complex
children | mcd:familyname mcd:givenname mcd:subaddressing mcd:postal mcd:telecom mcd:online
attributes parameters
Name | Type | Use | Default | Fixed
salutation | mcd:stringType1_35
title | mcd:stringType1_35
attributes annotations
Name | Notes
salutation | salutation is the optional salutation of the person
title | title is optional title of the person
source | <element name="person" type="mcd:personType"/>


element personType/familyname

Annotation | The familyname element supplies the family name (or last name) of a person
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="familyname" type="mcd:stringType1_35"/>


element personType/givenname

Annotation | The givenname element supplies the forename or first name of a person
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="givenname" type="mcd:stringType1_35"/>


element personType/subaddressing

Annotation | The subaddressing element supplies further special information of a full address (e.g. c/o information and the like)
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:stringType1_35
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
facets
minLength | 1
maxLength | 35
source | <element name="subaddressing" type="mcd:stringType1_35" minOccurs="0"/>


element personType/postal

Annotation | The postal element depicts the postal part of a full address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:postalAddressType
properties
isRef | 0
content | complex
children | mcd:pobox mcd:street mcd:zip mcd:city
source | <element name="postal" type="mcd:postalAddressType"/>


element personType/telecom

Annotation | The telecom element depicts the telecom related part of a full address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:telecomAddressType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
children | mcd:phone mcd:fax
source | <element name="telecom" type="mcd:telecomAddressType" minOccurs="0"/>


element personType/online

Annotation | The online element depicts the online related part of a full address
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:onlineAddressType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
children | mcd:email mcd:url
source | <element name="online" type="mcd:onlineAddressType" minOccurs="0"/>


element bodyType/provider

Annotation | The provider element is the provider of the MCD data
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:providerAddressType
properties
isRef | 0
content | complex
children | mcd:company mcd:person
attributes parameters
Name | Type | Use | Default | Fixed
ean_party | mcd:eanPartyType | required
zsr | mcd:zsrPartyType | required
specialty | mcd:stringType1_350
attributes annotations
Name | Notes
ean_party | ean_party is the provider's GLN as defined by RefData
zsr | zsr is the provider's ZSR (KSK) as defined by Santésuisse
specialty | specialty is the provider's specialty (branch of medical science a doctor practices)
source | <element name="provider" type="mcd:providerAddressType"/>


element providerAddressType/company

Annotation | The provider is a company given by the company element
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:companyType
properties
isRef | 0
content | complex
children | mcd:companyname mcd:department mcd:subaddressing mcd:postal mcd:telecom mcd:online
source | <element name="company" type="mcd:companyType"/>


element providerAddressType/person

Annotation | The provider is a person given by the person element
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:personType
properties
isRef | 0
content | complex
children | mcd:familyname mcd:givenname mcd:subaddressing mcd:postal mcd:telecom mcd:online
attributes parameters
Name | Type | Use | Default | Fixed
salutation | mcd:stringType1_35
title | mcd:stringType1_35
attributes annotations
Name | Notes
salutation | salutation is the optional salutation of the person
title | title is optional title of the person
source | <element name="person" type="mcd:personType"/>


element bodyType/insurance

Annotation | The insurance element is the insurance that is the final recipient of the request
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:insuranceAddressType
properties
isRef | 0
content | complex
children | mcd:company mcd:person
attributes parameters
Name | Type | Use | Default | Fixed
ean_party | mcd:eanPartyType | required
attributes annotations
Name | Notes
ean_party | ean_party is the insurance's GLN as defined by RefData
source | <element name="insurance" type="mcd:insuranceAddressType"/>


element insuranceAddressType/company

Annotation | The insurance is a company given by the company element
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:companyType
properties
isRef | 0
content | complex
children | mcd:companyname mcd:department mcd:subaddressing mcd:postal mcd:telecom mcd:online
source | <element name="company" type="mcd:companyType"/>


element insuranceAddressType/person

Annotation | The insurance is a person given by the person element
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:personType
properties
isRef | 0
content | complex
children | mcd:familyname mcd:givenname mcd:subaddressing mcd:postal mcd:telecom mcd:online
attributes parameters
Name | Type | Use | Default | Fixed
salutation | mcd:stringType1_35
title | mcd:stringType1_35
attributes annotations
Name | Notes
salutation | salutation is the optional salutation of the person
title | title is optional title of the person
source | <element name="person" type="mcd:personType"/>


element bodyType/patient

Annotation | The patient element defines the anonymized patient relevant data for the MCD
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:patientAddressType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
gender | derived by: NMTOKEN | required
birthdate | dateTime | required
attributes annotations
Name | Notes
gender | gender defines the gender encoded by a terminal set of tokens
birthdate | birthdate defines the birthdate of the patient
attributes enumerations
Name | Extension | Base | Value | Annotations
gender | NMTOKEN | male | the gender is male
gender | NMTOKEN | female | the gender is female
source | <element name="patient" type="mcd:patientAddressType"/>


element bodyType/grouper

Annotation | The grouper element supplies all DRG grouper data that is required to perform the DRG grouping process yielding a DRG code.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:grouperType
properties
isRef | 0
content | complex
children | mcd:admission_type mcd:discharge_type mcd:provider_type mcd:diagnosis mcd:procedure
attributes parameters
Name | Type | Use | Default | Fixed
date_begin | dateTime | required
date_end | dateTime | required
treatment_days | duration | required
respiration_time | duration
admission_weight | double
grouper | mcd:stringType1_35 | required
acid | mcd:stringType1_35
do_cost_assessment | boolean | false
attributes annotations
Name | Notes
date_begin | date_begin is the start of the treatment copied from the related invoice
date_end | date_end is the end of the treatment copied from the related invoice
treatment_days treatment_days is the number of treatment days within the given treatment period.
The calculation of these treatment days is dependent on whether SwissDRG is used nor not!
The treatment days are calculated as
    • Non-SwissDRG: «(grouperType@date_end - grouperType@date_begin + 1 - vacation_days)»
      SwissDRG: «max(1,(grouperType@date_end - grouperType@date_begin - vacation_days))»

    where vacation_days is the number of vacation days (the leave days when the patient was not in the hospital for treatment).

    Note, that treatment_days is identical to the "length of stay" notion of a DRG service position (either APDRG or SwissDRG)

    • respiration_time | respiration_time is the patient's respiration during treatment time if any
    admission_weight admission_weight is the patient's weight in [g] at the moment of the admission.
    Note, that the admission weight is grouper relevant only for neonates and babies up to an age of 1 year.
    grouper | grouper is the name of the used grouper software
    acid acid is an optional administrative case identification of the main software, defined exclusively for the exchange with the insurers.

    Please note, that the acid cannot serve as a unique identification of the MCD as opposed to the unique object reference!

    do_cost_assessment | do_cost_assessment indicates that another insurance might be responsible for a part of the costs. As a consequence of setting this attribute, the addressed insurance starts an internal assessment about a possible cost splitting.
    source | <element name="grouper" type="mcd:grouperType"/>


element grouperType/admission_type

Annotation | The mandatory admission_type element defines the DRG grouper relevant admission mode. The element is populated by a number=name pair whose allowed value space is defined and given by Forum Datenaustausch/Generic list.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:grouperDataType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
number | mcd:stringType1_3 | required
name | mcd:stringType1_64 | required
attributes annotations
Name Notes
number number is the number part of a certain grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".
name name is the language dependent name part of a grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".

If name exceeds 64 characters then it is trimmed to 60 characters and the characters ("...") are appended.

source | <element name="admission_type" type="mcd:grouperDataType"/>


element grouperType/discharge_type

Annotation | The mandatory discharge_type element defines the DRG grouper relevant discharge/separation mode. The element is populated by a number=name pair whose allowed value space is defined and given by Forum Datenaustausch/Generic list.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:grouperDataType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
number | mcd:stringType1_3 | required
name | mcd:stringType1_64 | required
attributes annotations
Name Notes
number number is the number part of a certain grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".
name name is the language dependent name part of a grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".

If name exceeds 64 characters then it is trimmed to 60 characters and the characters ("...") are appended.

source | <element name="discharge_type" type="mcd:grouperDataType"/>


element grouperType/provider_type

Annotation | The mandatory provider_type element defines the DRG grouper relevant care provider. The element is populated by a number=name pair whose allowed value space is defined and given by Forum Datenaustausch/Generic list.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:grouperDataType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
number | mcd:stringType1_3 | required
name | mcd:stringType1_64 | required
attributes annotations
Name Notes
number number is the number part of a certain grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".
name name is the language dependent name part of a grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".

If name exceeds 64 characters then it is trimmed to 60 characters and the characters ("...") are appended.

source | <element name="provider_type" type="mcd:grouperDataType"/>


element grouperType/diagnosis

Annotation The diagnosis element supplies all applicable diagnoses.
Note, that the first given diagnosis is the main diagnosis per definition
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:diagnosisType
properties
isRef | 0
minOcc | 1
maxOcc | unbounded
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
diagnosis_id | derived by: int | required
code | mcd:stringType1_12 | required
name | mcd:stringType1_350 | required
catalog | mcd:stringType1_35 | required
remark | mcd:stringType1_350
attributes annotations
Name | Notes
diagnosis_id | diagnosis_id is a diagnosis sequence number (staring with 1 and incremented by 1 for each further diagnosis) uniquely identifying the diagnosis
code | code is the used code of the designated diagnosis catalog
name | name is the official name as given by the used diagnosis catalog
catalog | catalog is the name of the used diagnosis catalog
remark | remark is an optional remark for the procedure
source | <element name="diagnosis" type="mcd:diagnosisType" maxOccurs="unbounded"/>


element grouperType/procedure

Annotation | The procedure element supplies all applicable procedures.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:procedureType
properties
isRef | 0
minOcc | 0
maxOcc | unbounded
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
procedure_id | derived by: int | required
code | mcd:stringType1_12 | required
name | mcd:stringType1_350 | required
catalog | mcd:stringType1_35 | required
side | derived by: NMTOKEN
date | dateTime
remark | mcd:stringType1_350
attributes annotations
Name | Notes
procedure_id | procedure_id is a procedure sequence number (staring with 1 and incremented by 1 for each further procedure) uniquely identifying the procedure
code | code is the used code of the designated procedure catalog
name | name is the official name as given by the used procedure catalog
catalog | catalog is the name of the used procedure catalog
side | side is the side location where the procedure was applied if the procedure is side specific! The absence of the side implicitly means "no side specificity". side is encoded by a terminal set of tokens.
date | date is the date when the procedure was applied
remark | remark is an optional remark for the procedure
attributes enumerations
Name | Extension | Base | Value | Annotations
side | NMTOKEN | both | the location is both - the procedure was applied on the both body sides
side | NMTOKEN | left | the location is left - the procedure was applied on the left body side
side | NMTOKEN | right | the location is right - the procedure was applied on the right body side
source | <element name="procedure" type="mcd:procedureType" minOccurs="0" maxOccurs="unbounded"/>


element bodyType/documents

Annotation | The documents element is an optional container for including inline, Base64-coded documents.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:documentsType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
children | mcd:document
attributes parameters
Name | Type | Use | Default | Fixed
number | unsignedLong | required
attributes annotations
Name | Notes
number | number defines total number of documents included in the infoset
source | <element name="documents" type="mcd:documentsType" minOccurs="0"/>


element documentsType/document

Annotation | The document element defines one physical document of an allowed MIME type that is included in the infoset inline and Base64-coded.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | mcd:documentType
properties
isRef | 0
minOcc | 1
maxOcc | unbounded
content | complex
children | mcd:base64 mcd:url
attributes parameters
Name | Type | Use | Default | Fixed
title | mcd:stringType1_35 | required
filename | mcd:stringType1_255 | required
mimeType | derived by: string | required
attributes annotations
Name | Notes
title title is the document's title on the primary system and thus describes the document in terms of its semantic content.
A list of possible suggestions -heuristic and incomplete in its nature- can be found at the Forum Datenaustausch.
filename filename defines the file name (without any path information) on the source system
This information is an aid for saving the file at the target location as well as for MIME sniffing.
mimeType | mimeType defines the Multipurpose Internet Mail Extension (MIME) type of the document. The MIME type bassically allows a type definition of the document as given in IANA: MIME Media Types and is used to reduce the allowed document space to application/pdf, image/jpeg, and image/png by defining the appropriate pattern
source | <element name="document" type="mcd:documentType" maxOccurs="unbounded"/>


element documentType/base64

Annotation | The base64 element defines the document inline and as BASE64-coded octet streams
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="base64" type="base64Binary"/>


element documentType/url

Annotation | The url element defines the document as offline that is the document can be fetched via the given URL.
diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | anyURI
properties
isRef | 0
content | simple
source | <element name="url" type="anyURI"/>


element xenc:EncryptedData

Annotation The optional xenc:EncryptedData (as defined by W3C) encrypts and replaces the body element by using the public certificate of the end recipient of this infoset (mostly the insurance).
See the "notes about encryption" in the introduction chapter for further guidance about the encryption.

Note, that there will be no documentation of this element or any subparts as this is done by W3C already!
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:EncryptedDataType
properties
content complex
children | xenc:EncryptionMethod ds:KeyInfo xenc:CipherData xenc:EncryptionProperties
used by
complexType payloadType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
Type | anyURI | optional
MimeType | string | optional
Encoding | anyURI | optional
source | <element name="EncryptedData" type="xenc:EncryptedDataType"/>


element xenc:EncryptedType/EncryptionMethod

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:EncryptionMethodType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
mixed | true
children | xenc:KeySize xenc:OAEPparams
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source | <element name="EncryptionMethod" type="xenc:EncryptionMethodType" minOccurs="0"/>


element xenc:EncryptionMethodType/KeySize

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:KeySizeType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
source | <element name="KeySize" type="xenc:KeySizeType" minOccurs="0"/>


element xenc:EncryptionMethodType/OAEPparams

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | base64Binary
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
source | <element name="OAEPparams" type="base64Binary" minOccurs="0"/>


element ds:KeyInfo

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:KeyInfoType
properties
content | complex
mixed | true
children | ds:KeyName ds:KeyValue ds:RetrievalMethod ds:X509Data ds:PGPData ds:SPKIData ds:MgmtData
used by
complexTypes ds:SignatureType xenc:EncryptedType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="KeyInfo" type="ds:KeyInfoType"/>


element ds:KeyName

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | string
properties
content simple
used by
complexType ds:KeyInfoType
source | <element name="KeyName" type="string"/>


element ds:KeyValue

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:KeyValueType
properties
content | complex
mixed | true
children | ds:DSAKeyValue ds:RSAKeyValue
used by
complexType ds:KeyInfoType
source | <element name="KeyValue" type="ds:KeyValueType"/>


element ds:DSAKeyValue

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:DSAKeyValueType
properties
content complex
children | ds:P ds:Q ds:G ds:Y ds:J ds:Seed ds:PgenCounter
used by
complexType ds:KeyValueType
source | <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>


element ds:DSAKeyValueType/P

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
content | simple
source | <element name="P" type="ds:CryptoBinary"/>


element ds:DSAKeyValueType/Q

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
content | simple
source | <element name="Q" type="ds:CryptoBinary"/>


element ds:DSAKeyValueType/G

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
source | <element name="G" type="ds:CryptoBinary" minOccurs="0"/>


element ds:DSAKeyValueType/Y

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
content | simple
source | <element name="Y" type="ds:CryptoBinary"/>


element ds:DSAKeyValueType/J

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
source | <element name="J" type="ds:CryptoBinary" minOccurs="0"/>


element ds:DSAKeyValueType/Seed

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
content | simple
source | <element name="Seed" type="ds:CryptoBinary"/>


element ds:DSAKeyValueType/PgenCounter

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
content | simple
source | <element name="PgenCounter" type="ds:CryptoBinary"/>


element ds:RSAKeyValue

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:RSAKeyValueType
properties
content complex
children | ds:Modulus ds:Exponent
used by
complexType ds:KeyValueType
source | <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>


element ds:RSAKeyValueType/Modulus

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
content | simple
source | <element name="Modulus" type="ds:CryptoBinary"/>


element ds:RSAKeyValueType/Exponent

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CryptoBinary
properties
isRef | 0
content | simple
source | <element name="Exponent" type="ds:CryptoBinary"/>


element ds:RetrievalMethod

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:RetrievalMethodType
properties
content complex
children | ds:Transforms
used by
complexType ds:KeyInfoType
attributes parameters
Name | Type | Use | Default | Fixed
URI | anyURI
Type | anyURI | optional
source | <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>


element ds:Transforms

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:TransformsType
properties
content complex
children | ds:Transform
used by
complexTypes ds:ReferenceType ds:RetrievalMethodType
source | <element name="Transforms" type="ds:TransformsType"/>


element ds:Transform

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:TransformType
properties
content | complex
mixed | true
children | ds:XPath
used by
complexTypes ds:TransformsType xenc:TransformsType
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source | <element name="Transform" type="ds:TransformType"/>


element ds:TransformType/XPath

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | string
properties
isRef | 0
content | simple
source | <element name="XPath" type="string"/>


element ds:X509Data

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:X509DataType
properties
content complex
children | ds:X509IssuerSerial ds:X509SKI ds:X509SubjectName ds:X509Certificate ds:X509CRL
used by
complexType ds:KeyInfoType
source | <element name="X509Data" type="ds:X509DataType"/>


element ds:X509DataType/X509IssuerSerial

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:X509IssuerSerialType
properties
isRef | 0
content | complex
children | ds:X509IssuerName ds:X509SerialNumber
source | <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>


element ds:X509IssuerSerialType/X509IssuerName

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | string
properties
isRef | 0
content | simple
source | <element name="X509IssuerName" type="string"/>


element ds:X509IssuerSerialType/X509SerialNumber

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | integer
properties
isRef | 0
content | simple
source | <element name="X509SerialNumber" type="integer"/>


element ds:X509DataType/X509SKI

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="X509SKI" type="base64Binary"/>


element ds:X509DataType/X509SubjectName

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | string
properties
isRef | 0
content | simple
source | <element name="X509SubjectName" type="string"/>


element ds:X509DataType/X509Certificate

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="X509Certificate" type="base64Binary"/>


element ds:X509DataType/X509CRL

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="X509CRL" type="base64Binary"/>


element ds:PGPData

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:PGPDataType
properties
content complex
children | ds:PGPKeyID ds:PGPKeyPacket ds:PGPKeyPacket
used by
complexType ds:KeyInfoType
source | <element name="PGPData" type="ds:PGPDataType"/>


element ds:PGPDataType/PGPKeyID

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="PGPKeyID" type="base64Binary"/>


element ds:PGPDataType/PGPKeyPacket

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="PGPKeyPacket" type="base64Binary"/>


element ds:SPKIData

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:SPKIDataType
properties
content complex
children | ds:SPKISexp
used by
complexType ds:KeyInfoType
source | <element name="SPKIData" type="ds:SPKIDataType"/>


element ds:SPKIDataType/SPKISexp

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="SPKISexp" type="base64Binary"/>


element ds:MgmtData

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | string
properties
content simple
used by
complexType ds:KeyInfoType
source | <element name="MgmtData" type="string"/>


element xenc:CipherData

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:CipherDataType
properties
content complex
children | xenc:CipherValue xenc:CipherReference
used by
complexType xenc:EncryptedType
source | <element name="CipherData" type="xenc:CipherDataType"/>


element xenc:CipherDataType/CipherValue

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | base64Binary
properties
isRef | 0
content | simple
source | <element name="CipherValue" type="base64Binary"/>


element xenc:CipherReference

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:CipherReferenceType
properties
content complex
children | xenc:Transforms
used by
complexType xenc:CipherDataType
attributes parameters
Name | Type | Use | Default | Fixed
URI | anyURI | required
source | <element name="CipherReference" type="xenc:CipherReferenceType"/>


element xenc:CipherReferenceType/Transforms

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:TransformsType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
children | ds:Transform
source | <element name="Transforms" type="xenc:TransformsType" minOccurs="0"/>


element xenc:EncryptionProperties

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:EncryptionPropertiesType
properties
content complex
children | xenc:EncryptionProperty
used by
complexType xenc:EncryptedType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="EncryptionProperties" type="xenc:EncryptionPropertiesType"/>


element xenc:EncryptionProperty

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:EncryptionPropertyType
properties
content | complex
mixed | true
used by
complexType xenc:EncryptionPropertiesType
attributes parameters
Name | Type | Use | Default | Fixed
Target | anyURI | optional
Id | ID | optional
source | <element name="EncryptionProperty" type="xenc:EncryptionPropertyType"/>


element ds:Signature

Annotation The optional ds:Signature (as defined by W3C) signs the payload element by using the private certificate of the sending party represented by the transport@to GLN.
See the "notes about signature" in the introduction chapter for further guidance about the signature.

Note, that there will be no documentation of this element or any subparts as this is done by W3C already!
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:SignatureType
properties
content complex
children | ds:SignedInfo ds:SignatureValue ds:KeyInfo ds:Object
used by
complexType requestType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="Signature" type="ds:SignatureType"/>


element ds:SignedInfo

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:SignedInfoType
properties
content complex
children | ds:CanonicalizationMethod ds:SignatureMethod ds:Reference
used by
complexType ds:SignatureType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="SignedInfo" type="ds:SignedInfoType"/>


element ds:CanonicalizationMethod

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:CanonicalizationMethodType
properties
content | complex
mixed | true
used by
complexType ds:SignedInfoType
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source | <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>


element ds:SignatureMethod

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:SignatureMethodType
properties
content | complex
mixed | true
children | ds:HMACOutputLength
used by
complexType ds:SignedInfoType
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source | <element name="SignatureMethod" type="ds:SignatureMethodType"/>


element ds:SignatureMethodType/HMACOutputLength

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:HMACOutputLengthType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
source | <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>


element ds:Reference

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:ReferenceType
properties
content complex
children | ds:Transforms ds:DigestMethod ds:DigestValue
used by
complexTypes ds:ManifestType ds:SignedInfoType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
URI | anyURI | optional
Type | anyURI | optional
source | <element name="Reference" type="ds:ReferenceType"/>


element ds:DigestMethod

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:DigestMethodType
properties
content | complex
mixed | true
used by
complexType ds:ReferenceType
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source | <element name="DigestMethod" type="ds:DigestMethodType"/>


element ds:DigestValue

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:DigestValueType
properties
content simple
used by
complexType ds:ReferenceType
source | <element name="DigestValue" type="ds:DigestValueType"/>


element ds:SignatureValue

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:SignatureValueType
properties
content complex
used by
complexType ds:SignatureType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="SignatureValue" type="ds:SignatureValueType"/>


element ds:Object

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:ObjectType
properties
content | complex
mixed | true
used by
complexType ds:SignatureType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
MimeType | string | optional
Encoding | anyURI | optional
source | <element name="Object" type="ds:ObjectType"/>


Alphabetical list of used XSD definitions

Alphabetical list of used XSD definitions

The following subchapters list all XSD definitions (simpleType, complexType etc.) used in the schema in alphabetical order.

B
bfsDataType
billerAddressType
bodyType
C
companyType
D
dependsOnType
diagnosisType
documentType
documentsType
ds_CanonicalizationMethodType
ds_CryptoBinary
ds_DSAKeyValueType
ds_DigestMethodType
ds_DigestValueType
ds_HMACOutputLengthType
ds_KeyInfoType
ds_KeyValueType
ds_ManifestType
ds_ObjectType
ds_PGPDataType
ds_RSAKeyValueType
ds_ReferenceType
ds_RetrievalMethodType
ds_SPKIDataType
ds_SignatureMethodType
ds_SignaturePropertiesType
ds_SignaturePropertyType
ds_SignatureType
ds_SignatureValueType
ds_SignedInfoType
ds_TransformType
ds_TransformsType
ds_X509DataType
ds_X509IssuerSerialType
E
eanPartyType
G
grouperDataType
grouperType
I
insuranceAddressType
invoiceType
M
mcdType
N
nonEmptyStringType
O
onlineAddressType
P
patientAddressType
payloadType
personType
postalAddressType
procedureType
processingType
prologType
providerAddressType
R
requestType
S
softwareType
stringType1_12
stringType1_15
stringType1_25
stringType1_255
stringType1_3
stringType1_30
stringType1_35
stringType1_350
stringType1_50
stringType1_64
stringType1_70
stringType1_9
T
telecomAddressType
transportType
X
xenc_AgreementMethodType
xenc_CipherDataType
xenc_CipherReferenceType
xenc_EncryptedDataType
xenc_EncryptedKeyType
xenc_EncryptedType
xenc_EncryptionMethodType
xenc_EncryptionPropertiesType
xenc_EncryptionPropertyType
xenc_KeySizeType
xenc_ReferenceType
xenc_TransformsType
Z


complexType bfsDataType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
attributes parameters
Name | Type | Use | Default | Fixed
code | mcd:stringType1_3 | required
name | mcd:stringType1_64 | required
attributes annotations
Name Notes
code code is in fact not a code but a number of the value space of a certain BfS code.
For example, one number/name pair combination of the BfS code 1.5.V03 (Aufenthalt nach Austritt) is 2 = Krankenheim, Pflegeheim in german. Therefore, for coding this combination use code="2" and name="Krankenheim, Pflegeheim" for language="german".
name name is the language dependent name of the value space of a certain BfS code.
For example, one number/name pair combination of the BfS code 1.5.V03 (Aufenthalt nach Austritt) is 2 = Krankenheim, Pflegeheim in german. Therefore, for coding this combination use number="2" and name="Krankenheim, Pflegeheim" for language="german".

If name exceeds 64 characters then it is trimmed to 60 characters and the characters ("...") are appended.

source <complexType name="bfsDataType">
<attribute name="code" type="mcd:stringType1_3" use="required"/>
<attribute name="name" type="mcd:stringType1_64" use="required"/>
</complexType>


complexType billerAddressType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:company mcd:person
used by
element bodyType/biller
attributes parameters
Name | Type | Use | Default | Fixed
ean_party | mcd:eanPartyType | required
zsr mcd:zsrPartyType
specialty mcd:stringType1_350
uid_number mcd:stringType1_15
attributes annotations
Name | Notes
ean_party | ean_party is the biller's GLN as defined by RefData
zsr | zsr is the biller's ZSR (KSK) as defined by Santésuisse
specialty | specialty is the biller's specialty (branch of medical science a medical person practices)
uid_number uid_number is the UID number in the electronic layout as defined by the "Swiss Federal Tax Administration".
In the electronic layout all punctuation characters ('-' and '.') are striped. Consequently, the UID number must be expanded appropriately prior to be printed, e.g.
  • CHE123456789 in the electronic layout is printed as CHE-123.456.789
source <complexType name="billerAddressType">
<choice>
<element name="company" type="mcd:companyType"/>
<element name="person" type="mcd:personType"/>
</choice>
<attribute name="ean_party" type="mcd:eanPartyType" use="required"/>
<attribute name="zsr" type="mcd:zsrPartyType"/>
<attribute name="specialty" type="mcd:stringType1_350"/>
<attribute name="uid_number" type="mcd:stringType1_15"/>
</complexType>


complexType bodyType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:prolog mcd:remark mcd:biller mcd:provider mcd:insurance mcd:patient mcd:grouper mcd:documents
used by
element payloadType/body
source <complexType name="bodyType">
<sequence>
<element name="prolog" type="mcd:prologType"/>
<element name="remark" type="mcd:stringType1_350" minOccurs="0"/>
<element name="biller" type="mcd:billerAddressType"/>
<element name="provider" type="mcd:providerAddressType"/>
<element name="insurance" type="mcd:insuranceAddressType"/>
<element name="patient" type="mcd:patientAddressType"/>
<element name="grouper" type="mcd:grouperType"/>
<element name="documents" type="mcd:documentsType" minOccurs="0"/>
</sequence>
</complexType>


complexType companyType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:companyname mcd:department mcd:subaddressing mcd:postal mcd:telecom mcd:online
used by
elements billerAddressType/company providerAddressType/company insuranceAddressType/company
source <complexType name="companyType">
<sequence>
<element name="companyname" type="mcd:stringType1_35"/>
<element name="department" type="mcd:stringType1_35" minOccurs="0"/>
<element name="subaddressing" type="mcd:stringType1_35" minOccurs="0"/>
<element name="postal" type="mcd:postalAddressType"/>
<element name="telecom" type="mcd:telecomAddressType" minOccurs="0"/>
<element name="online" type="mcd:onlineAddressType" minOccurs="0"/>
</sequence>
</complexType>


complexType dependsOnType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
used by
element softwareType/depends_on
attributes parameters
Name | Type | Use | Default | Fixed
name | mcd:stringType1_50 | required
copyright mcd:stringType1_50
description mcd:stringType1_50
version | unsignedInt
id | unsignedInt | 0
attributes annotations
Name | Notes
name | name defines the name of the dependent software/module
copyright | copyright defines the copyright notice of the dependent software/module
description | description supplies a short description of the dependent software/module
version version defines the version of the dependent software/module.
Since this is an integer coding use 100*main version + minor version as the version
id | id defines an unique id for the dependent software/module (should such an id exist)
source <complexType name="dependsOnType">
<attribute name="name" type="mcd:stringType1_50" use="required"/>
<attribute name="copyright" type="mcd:stringType1_50"/>
<attribute name="description" type="mcd:stringType1_50"/>
<attribute name="version" type="unsignedInt"/>
<attribute name="id" type="unsignedInt" default="0"/>
</complexType>


complexType diagnosisType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
used by
element grouperType/diagnosis
attributes parameters
Name | Type | Use | Default | Fixed
diagnosis_id | derived by: int | required
code | mcd:stringType1_12 | required
name | mcd:stringType1_350 | required
catalog | mcd:stringType1_35 | required
remark mcd:stringType1_350
attributes annotations
Name | Notes
diagnosis_id | diagnosis_id is a diagnosis sequence number (staring with 1 and incremented by 1 for each further diagnosis) uniquely identifying the diagnosis
code | code is the used code of the designated diagnosis catalog
name | name is the official name as given by the used diagnosis catalog
catalog | catalog is the name of the used diagnosis catalog
remark | remark is an optional remark for the procedure
source <complexType name="diagnosisType">
<attribute name="diagnosis_id" use="required">
<simpleType>
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="999999999"/>
</restriction>
</simpleType>
</attribute>
<attribute name="code" type="mcd:stringType1_12" use="required"/>
<attribute name="name" type="mcd:stringType1_350" use="required"/>
<attribute name="catalog" type="mcd:stringType1_35" use="required"/>
<attribute name="remark" type="mcd:stringType1_350"/>
</complexType>


complexType documentsType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:document
used by
element bodyType/documents
attributes parameters
Name | Type | Use | Default | Fixed
number | unsignedLong | required
attributes annotations
Name | Notes
number | number defines total number of documents included in the infoset
source <complexType name="documentsType">
<sequence>
<element name="document" type="mcd:documentType" maxOccurs="unbounded"/>
</sequence>
<attribute name="number" type="unsignedLong" use="required"/>
</complexType>


complexType documentType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:base64 mcd:url
used by
element documentsType/document
attributes parameters
Name | Type | Use | Default | Fixed
title | mcd:stringType1_35 | required
filename | mcd:stringType1_255 | required
mimeType | derived by: string | required
attributes annotations
Name | Notes
title title is the document's title on the primary system and thus describes the document in terms of its semantic content.
A list of possible suggestions -heuristic and incomplete in its nature- can be found at the Forum Datenaustausch.
filename filename defines the file name (without any path information) on the source system
This information is an aid for saving the file at the target location as well as for MIME sniffing.
mimeType | mimeType defines the Multipurpose Internet Mail Extension (MIME) type of the document. The MIME type bassically allows a type definition of the document as given in IANA: MIME Media Types and is used to reduce the allowed document space to application/pdf, image/jpeg, and image/png by defining the appropriate pattern
source <complexType name="documentType">
<choice>
<element name="base64" type="base64Binary"/>
<element name="url" type="anyURI"/>
</choice>
<attribute name="title" type="mcd:stringType1_35" use="required"/>
<attribute name="filename" type="mcd:stringType1_255" use="required"/>
<attribute name="mimeType" use="required">
<simpleType>
<restriction base="string">
<pattern value="(application/pdf|image/jpeg|image/png)"/>
</restriction>
</simpleType>
</attribute>
</complexType>


complexType ds:CanonicalizationMethodType

diagram
namespace http://www.w3.org/2000/09/xmldsig#
properties
mixed true
used by
element ds:CanonicalizationMethod
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source <complexType name="CanonicalizationMethodType" mixed="true">
<sequence>
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>


complexType ds:DigestMethodType

diagram
namespace http://www.w3.org/2000/09/xmldsig#
properties
mixed true
used by
element ds:DigestMethod
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source <complexType name="DigestMethodType" mixed="true">
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>


complexType ds:DSAKeyValueType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:P ds:Q ds:G ds:Y ds:J ds:Seed ds:PgenCounter
used by
element ds:DSAKeyValue
source <complexType name="DSAKeyValueType">
<sequence>
<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary"/>
<element name="Q" type="ds:CryptoBinary"/>
</sequence>
<element name="G" type="ds:CryptoBinary" minOccurs="0"/>
<element name="Y" type="ds:CryptoBinary"/>
<element name="J" type="ds:CryptoBinary" minOccurs="0"/>
<sequence minOccurs="0">
<element name="Seed" type="ds:CryptoBinary"/>
<element name="PgenCounter" type="ds:CryptoBinary"/>
</sequence>
</sequence>
</complexType>


complexType ds:KeyInfoType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
properties
mixed true
children | ds:KeyName ds:KeyValue ds:RetrievalMethod ds:X509Data ds:PGPData ds:SPKIData ds:MgmtData
used by
elements ds:KeyInfo xenc:AgreementMethodType/OriginatorKeyInfo xenc:AgreementMethodType/RecipientKeyInfo
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source <complexType name="KeyInfoType" mixed="true">
<choice maxOccurs="unbounded">
<element ref="ds:KeyName"/>
<element ref="ds:KeyValue"/>
<element ref="ds:RetrievalMethod"/>
<element ref="ds:X509Data"/>
<element ref="ds:PGPData"/>
<element ref="ds:SPKIData"/>
<element ref="ds:MgmtData"/>
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute name="Id" type="ID" use="optional"/>
</complexType>


complexType ds:KeyValueType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
properties
mixed true
children | ds:DSAKeyValue ds:RSAKeyValue
used by
element ds:KeyValue
source <complexType name="KeyValueType" mixed="true">
<choice>
<element ref="ds:DSAKeyValue"/>
<element ref="ds:RSAKeyValue"/>
<any namespace="##other" processContents="lax"/>
</choice>
</complexType>


complexType ds:ManifestType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:Reference
used by
element ds:Manifest
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source <complexType name="ManifestType">
<sequence>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>


complexType ds:ObjectType

diagram
namespace http://www.w3.org/2000/09/xmldsig#
properties
mixed true
used by
element ds:Object
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
MimeType | string | optional
Encoding | anyURI | optional
source <complexType name="ObjectType" mixed="true">
<sequence minOccurs="0" maxOccurs="unbounded">
<any namespace="##any" processContents="lax"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="MimeType" type="string" use="optional"/>
<attribute name="Encoding" type="anyURI" use="optional"/>
<!-- add a grep facet -->
</complexType>


complexType ds:PGPDataType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:PGPKeyID ds:PGPKeyPacket ds:PGPKeyPacket
used by
element ds:PGPData
source <complexType name="PGPDataType">
<choice>
<sequence>
<element name="PGPKeyID" type="base64Binary"/>
<element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<sequence>
<element name="PGPKeyPacket" type="base64Binary"/>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</choice>
</complexType>


complexType ds:ReferenceType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:Transforms ds:DigestMethod ds:DigestValue
used by
element ds:Reference
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
URI | anyURI | optional
Type | anyURI | optional
source <complexType name="ReferenceType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
<element ref="ds:DigestMethod"/>
<element ref="ds:DigestValue"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="URI" type="anyURI" use="optional"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>


complexType ds:RetrievalMethodType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:Transforms
used by
element ds:RetrievalMethod
attributes parameters
Name | Type | Use | Default | Fixed
URI | anyURI
Type | anyURI | optional
source <complexType name="RetrievalMethodType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
</sequence>
<attribute name="URI" type="anyURI"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>


complexType ds:RSAKeyValueType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:Modulus ds:Exponent
used by
element ds:RSAKeyValue
source <complexType name="RSAKeyValueType">
<sequence>
<element name="Modulus" type="ds:CryptoBinary"/>
<element name="Exponent" type="ds:CryptoBinary"/>
</sequence>
</complexType>


complexType ds:SignatureMethodType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
properties
mixed true
children | ds:HMACOutputLength
used by
element ds:SignatureMethod
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source <complexType name="SignatureMethodType" mixed="true">
<sequence>
<element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) external namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>


complexType ds:SignaturePropertiesType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:SignatureProperty
used by
element ds:SignatureProperties
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source <complexType name="SignaturePropertiesType">
<sequence>
<element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>


element ds:SignatureProperty

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:SignaturePropertyType
properties
content | complex
mixed | true
used by
complexType ds:SignaturePropertiesType
attributes parameters
Name | Type | Use | Default | Fixed
Target | anyURI | required
Id | ID | optional
source | <element name="SignatureProperty" type="ds:SignaturePropertyType"/>


complexType ds:SignaturePropertyType

diagram
namespace http://www.w3.org/2000/09/xmldsig#
properties
mixed true
used by
element ds:SignatureProperty
attributes parameters
Name | Type | Use | Default | Fixed
Target | anyURI | required
Id | ID | optional
source <complexType name="SignaturePropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (1,unbounded) namespaces -->
</choice>
<attribute name="Target" type="anyURI" use="required"/>
<attribute name="Id" type="ID" use="optional"/>
</complexType>


complexType ds:SignatureType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:SignedInfo ds:SignatureValue ds:KeyInfo ds:Object
used by
element ds:Signature
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source <complexType name="SignatureType">
<sequence>
<element ref="ds:SignedInfo"/>
<element ref="ds:SignatureValue"/>
<element ref="ds:KeyInfo" minOccurs="0"/>
<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>


complexType ds:SignatureValueType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | extension of base64Binary
properties
base base64Binary
used by
element ds:SignatureValue
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source <complexType name="SignatureValueType">
<simpleContent>
<extension base="base64Binary">
<attribute name="Id" type="ID" use="optional"/>
</extension>
</simpleContent>
</complexType>


complexType ds:SignedInfoType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:CanonicalizationMethod ds:SignatureMethod ds:Reference
used by
element ds:SignedInfo
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source <complexType name="SignedInfoType">
<sequence>
<element ref="ds:CanonicalizationMethod"/>
<element ref="ds:SignatureMethod"/>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>


complexType ds:SPKIDataType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:SPKISexp
used by
element ds:SPKIData
source <complexType name="SPKIDataType">
<sequence maxOccurs="unbounded">
<element name="SPKISexp" type="base64Binary"/>
<any namespace="##other" processContents="lax" minOccurs="0"/>
</sequence>
</complexType>


complexType ds:TransformsType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:Transform
used by
element ds:Transforms
source <complexType name="TransformsType">
<sequence>
<element ref="ds:Transform" maxOccurs="unbounded"/>
</sequence>
</complexType>


complexType ds:TransformType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
properties
mixed true
children | ds:XPath
used by
element ds:Transform
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source <complexType name="TransformType" mixed="true">
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
<element name="XPath" type="string"/>
</choice>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>


complexType ds:X509DataType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:X509IssuerSerial ds:X509SKI ds:X509SubjectName ds:X509Certificate ds:X509CRL
used by
element ds:X509Data
source <complexType name="X509DataType">
<sequence maxOccurs="unbounded">
<choice>
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
<element name="X509SKI" type="base64Binary"/>
<element name="X509SubjectName" type="string"/>
<element name="X509Certificate" type="base64Binary"/>
<element name="X509CRL" type="base64Binary"/>
<any namespace="##other" processContents="lax"/>
</choice>
</sequence>
</complexType>


complexType ds:X509IssuerSerialType

diagram
namespace | http://www.w3.org/2000/09/xmldsig#
children | ds:X509IssuerName ds:X509SerialNumber
used by
element ds:X509DataType/X509IssuerSerial
source <complexType name="X509IssuerSerialType">
<sequence>
<element name="X509IssuerName" type="string"/>
<element name="X509SerialNumber" type="integer"/>
</sequence>
</complexType>


complexType grouperDataType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
used by
elements grouperType/admission_type grouperType/discharge_type grouperType/provider_type
attributes parameters
Name | Type | Use | Default | Fixed
number | mcd:stringType1_3 | required
name | mcd:stringType1_64 | required
attributes annotations
Name Notes
number number is the number part of a certain grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".
name name is the language dependent name part of a grouper data record.
For example, the 2nd choice of the grouper provider type is Maison des naissances in french. Therefore to code this combination use number="1" and name="Maison des naissances" for language="french".

If name exceeds 64 characters then it is trimmed to 60 characters and the characters ("...") are appended.

source <complexType name="grouperDataType">
<attribute name="number" type="mcd:stringType1_3" use="required"/>
<attribute name="name" type="mcd:stringType1_64" use="required"/>
</complexType>


complexType grouperType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:admission_type mcd:discharge_type mcd:provider_type mcd:diagnosis mcd:procedure
used by
element bodyType/grouper
attributes parameters
Name | Type | Use | Default | Fixed
date_begin | dateTime | required
date_end | dateTime | required
treatment_days | duration | required
respiration_time | duration
admission_weight | double
grouper | mcd:stringType1_35 | required
acid mcd:stringType1_35
do_cost_assessment | boolean | false
attributes annotations
Name | Notes
date_begin | date_begin is the start of the treatment copied from the related invoice
date_end | date_end is the end of the treatment copied from the related invoice
treatment_days treatment_days is the number of treatment days within the given treatment period.
The calculation of these treatment days is dependent on whether SwissDRG is used nor not!
The treatment days are calculated as
    • Non-SwissDRG: «(grouperType@date_end - grouperType@date_begin + 1 - vacation_days)»
      SwissDRG: «max(1,(grouperType@date_end - grouperType@date_begin - vacation_days))»

    where vacation_days is the number of vacation days (the leave days when the patient was not in the hospital for treatment).

    Note, that treatment_days is identical to the "length of stay" notion of a DRG service position (either APDRG or SwissDRG)

    • respiration_time | respiration_time is the patient's respiration during treatment time if any
    admission_weight admission_weight is the patient's weight in [g] at the moment of the admission.
    Note, that the admission weight is grouper relevant only for neonates and babies up to an age of 1 year.
    grouper | grouper is the name of the used grouper software
    acid acid is an optional administrative case identification of the main software, defined exclusively for the exchange with the insurers.

    Please note, that the acid cannot serve as a unique identification of the MCD as opposed to the unique object reference!

    do_cost_assessment | do_cost_assessment indicates that another insurance might be responsible for a part of the costs. As a consequence of setting this attribute, the addressed insurance starts an internal assessment about a possible cost splitting.
    source <complexType name="grouperType">
    <sequence>
    <element name="admission_type" type="mcd:grouperDataType"/>
    <element name="discharge_type" type="mcd:grouperDataType"/>
    <element name="provider_type" type="mcd:grouperDataType"/>
    <element name="diagnosis" type="mcd:diagnosisType" maxOccurs="unbounded"/>
    <element name="procedure" type="mcd:procedureType" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <attribute name="date_begin" type="dateTime" use="required"/>
    <attribute name="date_end" type="dateTime" use="required"/>
    <attribute name="treatment_days" type="duration" use="required"/>
    <attribute name="respiration_time" type="duration"/>
    <attribute name="admission_weight" type="double"/>
    <attribute name="grouper" type="mcd:stringType1_35" use="required"/>
    <attribute name="acid" type="mcd:stringType1_35"/>
    <attribute name="do_cost_assessment" type="boolean" default="false"/>
    </complexType>


complexType insuranceAddressType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:company mcd:person
used by
element bodyType/insurance
attributes parameters
Name | Type | Use | Default | Fixed
ean_party | mcd:eanPartyType | required
attributes annotations
Name | Notes
ean_party | ean_party is the insurance's GLN as defined by RefData
source <complexType name="insuranceAddressType">
<choice>
<element name="company" type="mcd:companyType"/>
<element name="person" type="mcd:personType"/>
</choice>
<attribute name="ean_party" type="mcd:eanPartyType" use="required"/>
</complexType>


complexType invoiceType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
used by
element payloadType/invoice
attributes parameters
Name | Type | Use | Default | Fixed
request_timestamp | derived by: unsignedLong | required
request_date | dateTime | required
request_id | mcd:stringType1_35 | required
attributes annotations
Name Notes
request_timestamp request_timestamp is a UNIX timestamp defined at the moment of the invoice's infoset generation
This is one of 3 identifiers that form the invoice object reference. request_timestamp will be generated once for a certain invoice object reference and thereafter always referenced!
request_date request_date is the main software's date of the invoice request ("Rechnungsdatum")
This is one of 3 identifiers that form the invoice object reference. request_date must be identical for the same invoice object reference!
request_id request_id is the main software's ID of the invoice request ("Rechnungsnummer")
This is one of 3 identifiers that form the invoice object reference. request_id must be identical for the same invoice object reference!
source <complexType name="invoiceType">
<attribute name="request_timestamp" use="required">
<simpleType>
<restriction base="unsignedLong">
<minInclusive value="1420066800"/>
<maxInclusive value="1924902000"/>
</restriction>
</simpleType>
</attribute>
<attribute name="request_date" type="dateTime" use="required"/>
<attribute name="request_id" type="mcd:stringType1_35" use="required"/>
</complexType>


complexType mcdType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
used by
element payloadType/mcd
attributes parameters
Name | Type | Use | Default | Fixed
request_timestamp | derived by: unsignedLong | required
request_date | dateTime | required
request_id | mcd:stringType1_35 | required
attributes annotations
Name Notes
request_timestamp request_timestamp is a UNIX timestamp defined at the moment of the MCD's infoset generation
This is one of 3 identifiers that form the MCD object reference. request_timestamp will be generated once for a certain MCD object reference and thereafter always referenced!
request_date request_date is the main software's date of the MCD request
This is one of 3 identifiers that form the MCD object reference. request_date must be identical for the same MCD object reference!
request_id request_id is the main software's ID of the MCD request
This is one of 3 identifiers that form the invoice object reference. request_id must be identical for the same MCD invoice object reference!
source <complexType name="mcdType">
<attribute name="request_timestamp" use="required">
<simpleType>
<restriction base="unsignedLong">
<minInclusive value="1420066800"/>
<maxInclusive value="1924902000"/>
</restriction>
</simpleType>
</attribute>
<attribute name="request_date" type="dateTime" use="required"/>
<attribute name="request_id" type="mcd:stringType1_35" use="required"/>
</complexType>


complexType onlineAddressType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:email mcd:url
used by
elements personType/online companyType/online
source <complexType name="onlineAddressType">
<sequence>
<element name="email" maxOccurs="3">
<simpleType>
<restriction base="mcd:stringType1_70">
<pattern value=".+@.+"/>
</restriction>
</simpleType>
</element>
<element name="url" minOccurs="0" maxOccurs="3">
<simpleType>
<restriction base="anyURI">
<minLength value="1"/>
<maxLength value="100"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>


complexType patientAddressType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
used by
element bodyType/patient
attributes parameters
Name | Type | Use | Default | Fixed
gender | derived by: NMTOKEN | required
birthdate | dateTime | required
attributes annotations
Name | Notes
gender | gender defines the gender encoded by a terminal set of tokens
birthdate | birthdate defines the birthdate of the patient
attributes enumerations
Name | Extension | Base | Value | Annotations
gender | NMTOKEN | male | the gender is male
gender | NMTOKEN | female | the gender is female
source <complexType name="patientAddressType">
<attribute name="gender" use="required">
<simpleType>
<restriction base="NMTOKEN">
<enumeration value="male"/>
<enumeration value="female"/>
</restriction>
</simpleType>
</attribute>
<attribute name="birthdate" type="dateTime" use="required"/>
</complexType>


complexType payloadType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:invoice mcd:mcd mcd:body xenc:EncryptedData
used by
element requestType/payload
attributes parameters
Name | Type | Use | Default | Fixed
storno | boolean | false
copy | boolean | false
attributes annotations
Name | Notes
storno | storno augments the MCD reference object by a storno command that is the MCD reference object is an identical clone (except for the storno attribute) of a prior sent request.
copy | copy augments the MCD reference object by a copy command that is the MCD reference object is an identical clone (except for the copy attribute) of a prior sent request.
source <complexType name="payloadType">
<sequence>
<element name="invoice" type="mcd:invoiceType"/>
<element name="mcd" type="mcd:mcdType"/>
<choice>
<element name="body" type="mcd:bodyType"/>
<element ref="xenc:EncryptedData"/>
</choice>
</sequence>
<attribute name="storno" type="boolean" default="false"/>
<attribute name="copy" type="boolean" default="false"/>
</complexType>


complexType personType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:familyname mcd:givenname mcd:subaddressing mcd:postal mcd:telecom mcd:online
used by
elements billerAddressType/person providerAddressType/person insuranceAddressType/person
attributes parameters
Name Type Use Default Fixed
salutation mcd:stringType1_35
title mcd:stringType1_35
attributes annotations
Name | Notes
salutation | salutation is the optional salutation of the person
title | title is optional title of the person
source <complexType name="personType">
<sequence>
<element name="familyname" type="mcd:stringType1_35"/>
<element name="givenname" type="mcd:stringType1_35"/>
<element name="subaddressing" type="mcd:stringType1_35" minOccurs="0"/>
<element name="postal" type="mcd:postalAddressType"/>
<element name="telecom" type="mcd:telecomAddressType" minOccurs="0"/>
<element name="online" type="mcd:onlineAddressType" minOccurs="0"/>
</sequence>
<attribute name="salutation" type="mcd:stringType1_35"/>
<attribute name="title" type="mcd:stringType1_35"/>
</complexType>


complexType postalAddressType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:pobox mcd:street mcd:zip mcd:city
used by
elements personType/postal companyType/postal
source <complexType name="postalAddressType">
<sequence>
<sequence>
<element name="pobox" type="mcd:stringType1_35" minOccurs="0"/>
<element name="street" type="mcd:stringType1_35" minOccurs="0"/>
</sequence>
<element name="zip" type="mcd:zipType"/>
<element name="city" type="mcd:stringType1_35"/>
</sequence>
</complexType>


complexType procedureType

diagram
namespace http://www.forum-datenaustausch.ch/mcd
used by
element grouperType/procedure
attributes parameters
Name | Type | Use | Default | Fixed
procedure_id | derived by: int | required
code | mcd:stringType1_12 | required
name | mcd:stringType1_350 | required
catalog | mcd:stringType1_35 | required
side | derived by: NMTOKEN
date | dateTime
remark mcd:stringType1_350
attributes annotations
Name | Notes
procedure_id | procedure_id is a procedure sequence number (staring with 1 and incremented by 1 for each further procedure) uniquely identifying the procedure
code | code is the used code of the designated procedure catalog
name | name is the official name as given by the used procedure catalog
catalog | catalog is the name of the used procedure catalog
side | side is the side location where the procedure was applied if the procedure is side specific! The absence of the side implicitly means "no side specificity". side is encoded by a terminal set of tokens.
date | date is the date when the procedure was applied
remark | remark is an optional remark for the procedure
attributes enumerations
Name | Extension | Base | Value | Annotations
side | NMTOKEN | both | the location is both - the procedure was applied on the both body sides
side | NMTOKEN | left | the location is left - the procedure was applied on the left body side
side | NMTOKEN | right | the location is right - the procedure was applied on the right body side
source <complexType name="procedureType">
<attribute name="procedure_id" use="required">
<simpleType>
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="999999999"/>
</restriction>
</simpleType>
</attribute>
<attribute name="code" type="mcd:stringType1_12" use="required"/>
<attribute name="name" type="mcd:stringType1_350" use="required"/>
<attribute name="catalog" type="mcd:stringType1_35" use="required"/>
<attribute name="side">
<simpleType>
<restriction base="NMTOKEN">
<enumeration value="both"/>
<enumeration value="left"/>
<enumeration value="right"/>
</restriction>
</simpleType>
</attribute>
<attribute name="date" type="dateTime"/>
<attribute name="remark" type="mcd:stringType1_350"/>
</complexType>


complexType processingType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:transport
used by
element requestType/processing
source <complexType name="processingType">
<sequence>
<element name="transport" type="mcd:transportType"/>
</sequence>
</complexType>


complexType prologType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:package mcd:generator
used by
element bodyType/prolog
source <complexType name="prologType">
<sequence>
<element name="package" type="mcd:softwareType" minOccurs="0"/>
<element name="generator" type="mcd:softwareType"/>
</sequence>
</complexType>


complexType providerAddressType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:company mcd:person
used by
element bodyType/provider
attributes parameters
Name | Type | Use | Default | Fixed
ean_party | mcd:eanPartyType | required
zsr | mcd:zsrPartyType | required
specialty mcd:stringType1_350
attributes annotations
Name | Notes
ean_party | ean_party is the provider's GLN as defined by RefData
zsr | zsr is the provider's ZSR (KSK) as defined by Santésuisse
specialty | specialty is the provider's specialty (branch of medical science a doctor practices)
source <complexType name="providerAddressType">
<choice>
<element name="company" type="mcd:companyType"/>
<element name="person" type="mcd:personType"/>
</choice>
<attribute name="ean_party" type="mcd:eanPartyType" use="required"/>
<attribute name="zsr" type="mcd:zsrPartyType" use="required"/>
<attribute name="specialty" type="mcd:stringType1_350"/>
</complexType>


complexType requestType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:processing mcd:payload ds:Signature
used by
element request
attributes parameters
Name | Type | Use | Default | Fixed
language | derived by: NMTOKEN | required
modus | derived by: NMTOKEN | production
validation_status | long
is_confidential | boolean | false
attributes annotations
Name | Notes
language | language defines the used data language (name of the services etc.) encoded by a terminal set of ISO language specifiers.
modus | modus defines the operating modus encoded by a terminal set of tokens
validation_status validation_status defines the validity status of XML infoset after the infoset is generated and validated by a DOM. 0 or absence of the attribute means OK.
It is possible to knowingly encode an XML infoset that is not well formed or invalid regarding its content. validation_status then signals an error condition to the recipient.
is_confidential is_confidential is the flag for defining the confidentiality status of a MCD document when addressed and transmitted to a consulting physician (CE) in accordance with Article 42 (5) of the Swiss Federal Act on Health Insurance (KVG).

By using the flag in the aforementioned case, the health provider declares that all medical information must be seen and used exclusively by the CE. Therefore, the case qualifies according to Article 42 (5) KVG.

attributes enumerations
Name | Extension | Base | Value | Annotations
language | NMTOKEN | de | the data language is german
language | NMTOKEN | fr | the data language is french
language | NMTOKEN | it | the data language is italian
modus | NMTOKEN | production | the modus production (default value) is for normal processing
modus | NMTOKEN | test | the modus test is for software developers to test the processing.
source <complexType name="requestType">
<sequence>
<element name="processing" type="mcd:processingType"/>
<element name="payload" type="mcd:payloadType"/>
<element ref="ds:Signature" minOccurs="0"/>
</sequence>
<attribute name="language" use="required">
<simpleType>
<restriction base="NMTOKEN">
<enumeration value="de"/>
<enumeration value="fr"/>
<enumeration value="it"/>
</restriction>
</simpleType>
</attribute>
<attribute name="modus" default="production">
<simpleType>
<restriction base="NMTOKEN">
<enumeration value="production"/>
<enumeration value="test"/>
</restriction>
</simpleType>
</attribute>
<attribute name="validation_status" type="long"/>
<attribute name="is_confidential" type="boolean" default="false"/>
</complexType>


complexType softwareType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:depends_on
used by
elements prologType/generator prologType/package
attributes parameters
Name | Type | Use | Default | Fixed
name | mcd:stringType1_50 | required
copyright mcd:stringType1_50
description mcd:stringType1_50
version | unsignedInt
id | unsignedInt | 0
attributes annotations
Name | Notes
name | name defines the name of the software/module
copyright | copyright defines the copyright notice of the software/module
description | description supplies a short description of the software/module
version version defines the version of the software/module.
Since this is an integer coding use 100*main version + minor version as the version
id | id defines an unique id for the software/module (should such an id exist)
source <complexType name="softwareType">
<sequence>
<element name="depends_on" type="mcd:dependsOnType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="mcd:stringType1_50" use="required"/>
<attribute name="copyright" type="mcd:stringType1_50"/>
<attribute name="description" type="mcd:stringType1_50"/>
<attribute name="version" type="unsignedInt"/>
<attribute name="id" type="unsignedInt" default="0"/>
</complexType>


complexType telecomAddressType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:phone mcd:fax
used by
elements personType/telecom companyType/telecom
source <complexType name="telecomAddressType">
<sequence>
<element name="phone" type="mcd:stringType1_25" maxOccurs="3"/>
<element name="fax" type="mcd:stringType1_25" minOccurs="0" maxOccurs="3"/>
</sequence>
</complexType>


complexType transportType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
children | mcd:via
used by
element processingType/transport
attributes parameters
Name | Type | Use | Default | Fixed
from | mcd:eanPartyType | required
to | mcd:eanPartyType | required
attributes annotations
Name Notes
from from is the GLN party that initially sent the infoset to the first intermediate
Note, that the private certificate of this GLN party is used for the optional signature as outlined in the subchapter Purpose/Signature.
to to is the GLN party that eventually receives the infoset from the last intermediate.
Note, that the public certificate of this GLN party is used for the optional encryption as outlined in the subchapter Purpose/Encryption.
source <complexType name="transportType">
<sequence>
<element name="via" maxOccurs="unbounded">
<complexType>
<attribute name="via" type="mcd:eanPartyType" use="required"/>
<attribute name="sequence_id" type="unsignedShort" use="required"/>
</complexType>
</element>
</sequence>
<attribute name="from" type="mcd:eanPartyType" use="required"/>
<attribute name="to" type="mcd:eanPartyType" use="required"/>
</complexType>


complexType xenc:AgreementMethodType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
properties
mixed true
children | xenc:KA-Nonce xenc:OriginatorKeyInfo xenc:RecipientKeyInfo
used by
element xenc:AgreementMethod
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source <complexType name="AgreementMethodType" mixed="true">
<sequence>
<element name="KA-Nonce" type="base64Binary" minOccurs="0"/>
<!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
<element name="OriginatorKeyInfo" type="ds:KeyInfoType" minOccurs="0"/>
<element name="RecipientKeyInfo" type="ds:KeyInfoType" minOccurs="0"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>


element xenc:AgreementMethodType/KA-Nonce

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | base64Binary
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
source | <element name="KA-Nonce" type="base64Binary" minOccurs="0"/>


element xenc:AgreementMethodType/OriginatorKeyInfo

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | ds:KeyInfoType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
mixed | true
children | ds:KeyName ds:KeyValue ds:RetrievalMethod ds:X509Data ds:PGPData ds:SPKIData ds:MgmtData
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="OriginatorKeyInfo" type="ds:KeyInfoType" minOccurs="0"/>


element xenc:AgreementMethodType/RecipientKeyInfo

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | ds:KeyInfoType
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | complex
mixed | true
children | ds:KeyName ds:KeyValue ds:RetrievalMethod ds:X509Data ds:PGPData ds:SPKIData ds:MgmtData
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="RecipientKeyInfo" type="ds:KeyInfoType" minOccurs="0"/>


complexType xenc:CipherDataType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
children | xenc:CipherValue xenc:CipherReference
used by
element xenc:CipherData
source <complexType name="CipherDataType">
<choice>
<element name="CipherValue" type="base64Binary"/>
<element ref="xenc:CipherReference"/>
</choice>
</complexType>


complexType xenc:CipherReferenceType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
children | xenc:Transforms
used by
element xenc:CipherReference
attributes parameters
Name | Type | Use | Default | Fixed
URI | anyURI | required
source <complexType name="CipherReferenceType">
<choice>
<element name="Transforms" type="xenc:TransformsType" minOccurs="0"/>
</choice>
<attribute name="URI" type="anyURI" use="required"/>
</complexType>


complexType xenc:EncryptedDataType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | extension of xenc:EncryptedType
properties
base xenc:EncryptedType
children | xenc:EncryptionMethod ds:KeyInfo xenc:CipherData xenc:EncryptionProperties
used by
element xenc:EncryptedData
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
Type | anyURI | optional
MimeType | string | optional
Encoding | anyURI | optional
source <complexType name="EncryptedDataType">
<complexContent>
<extension base="xenc:EncryptedType"/>
</complexContent>
</complexType>


complexType xenc:EncryptedKeyType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | extension of xenc:EncryptedType
properties
base xenc:EncryptedType
children | xenc:EncryptionMethod ds:KeyInfo xenc:CipherData xenc:EncryptionProperties xenc:ReferenceList xenc:CarriedKeyName
used by
element xenc:EncryptedKey
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
Type | anyURI | optional
MimeType | string | optional
Encoding | anyURI | optional
Recipient | string | optional
source <complexType name="EncryptedKeyType">
<complexContent>
<extension base="xenc:EncryptedType">
<sequence>
<element ref="xenc:ReferenceList" minOccurs="0"/>
<element name="CarriedKeyName" type="string" minOccurs="0"/>
</sequence>
<attribute name="Recipient" type="string" use="optional"/>
</extension>
</complexContent>
</complexType>


element xenc:ReferenceList

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
properties
content complex
children | xenc:DataReference xenc:KeyReference
used by
complexType xenc:EncryptedKeyType
source <element name="ReferenceList">
<complexType>
<choice maxOccurs="unbounded">
<element name="DataReference" type="xenc:ReferenceType"/>
<element name="KeyReference" type="xenc:ReferenceType"/>
</choice>
</complexType>
</element>


element xenc:EncryptedKeyType/CarriedKeyName

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | string
properties
isRef | 0
minOcc | 0
maxOcc | 1
content | simple
source | <element name="CarriedKeyName" type="string" minOccurs="0"/>


complexType xenc:EncryptedType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
properties
abstract true
children | xenc:EncryptionMethod ds:KeyInfo xenc:CipherData xenc:EncryptionProperties
used by
complexTypes xenc:EncryptedDataType xenc:EncryptedKeyType
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
Type | anyURI | optional
MimeType | string | optional
Encoding | anyURI | optional
source <complexType name="EncryptedType" abstract="true">
<sequence>
<element name="EncryptionMethod" type="xenc:EncryptionMethodType" minOccurs="0"/>
<element ref="ds:KeyInfo" minOccurs="0"/>
<element ref="xenc:CipherData"/>
<element ref="xenc:EncryptionProperties" minOccurs="0"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="Type" type="anyURI" use="optional"/>
<attribute name="MimeType" type="string" use="optional"/>
<attribute name="Encoding" type="anyURI" use="optional"/>
</complexType>


complexType xenc:EncryptionMethodType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
properties
mixed true
children | xenc:KeySize xenc:OAEPparams
used by
element xenc:EncryptedType/EncryptionMethod
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source <complexType name="EncryptionMethodType" mixed="true">
<sequence>
<element name="KeySize" type="xenc:KeySizeType" minOccurs="0"/>
<element name="OAEPparams" type="base64Binary" minOccurs="0"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>


complexType xenc:EncryptionPropertiesType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
children | xenc:EncryptionProperty
used by
element xenc:EncryptionProperties
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source <complexType name="EncryptionPropertiesType">
<sequence>
<element ref="xenc:EncryptionProperty" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>


complexType xenc:EncryptionPropertyType

diagram
namespace http://www.w3.org/2001/04/xmlenc#
properties
mixed true
used by
element xenc:EncryptionProperty
attributes parameters
Name | Type | Use | Default | Fixed
Target | anyURI | optional
Id | ID | optional
source <complexType name="EncryptionPropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
</choice>
<attribute name="Target" type="anyURI" use="optional"/>
<attribute name="Id" type="ID" use="optional"/>
<anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
</complexType>


complexType xenc:ReferenceType

diagram
namespace http://www.w3.org/2001/04/xmlenc#
used by
elements xenc:ReferenceList/DataReference xenc:ReferenceList/KeyReference
attributes parameters
Name | Type | Use | Default | Fixed
URI | anyURI | required
source <complexType name="ReferenceType">
<sequence>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="URI" type="anyURI" use="required"/>
</complexType>


complexType xenc:TransformsType

diagram
namespace | http://www.w3.org/2001/04/xmlenc#
children | ds:Transform
used by
element xenc:CipherReferenceType/Transforms
source <complexType name="TransformsType">
<sequence>
<element ref="ds:Transform" maxOccurs="unbounded"/>
</sequence>
</complexType>


complexType zipType

diagram
namespace | http://www.forum-datenaustausch.ch/mcd
type | extension of mcd:stringType1_9
properties
base mcd:stringType1_9
used by
element postalAddressType/zip
facets
minLength | 1
maxLength | 9
attributes parameters
Name | Type | Use | Default | Fixed
statecode mcd:stringType1_9
countrycode | mcd:stringType1_3 | CH
attributes annotations
Name | Notes
statecode | statecode is an optional code for a state (e.g. the canton designator in Switzerland or the state in USA)
countrycode | countrycode is the ISO designator of the country ("CH" is the default value)
Extensions
Annotation | Base
Definition for the zip container (a subcontainer of an address definition) giving the zip code | mcd:stringType1_9
source <complexType name="zipType">
<simpleContent>
<extension base="mcd:stringType1_9">
<attribute name="statecode" type="mcd:stringType1_9"/>
<attribute name="countrycode" type="mcd:stringType1_3" default="CH"/>
</extension>
</simpleContent>
</complexType>


element ds:Manifest

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:ManifestType
properties
content complex
children | ds:Reference
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="Manifest" type="ds:ManifestType"/>


element ds:SignatureProperties

Annotation
diagram
namespace | http://www.w3.org/2000/09/xmldsig#
type | ds:SignaturePropertiesType
properties
content complex
children | ds:SignatureProperty
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
source | <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>


element xenc:AgreementMethod

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:AgreementMethodType
properties
content | complex
mixed | true
children | xenc:KA-Nonce xenc:OriginatorKeyInfo xenc:RecipientKeyInfo
attributes parameters
Name | Type | Use | Default | Fixed
Algorithm | anyURI | required
source | <element name="AgreementMethod" type="xenc:AgreementMethodType"/>


element xenc:EncryptedKey

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:EncryptedKeyType
properties
content complex
children | xenc:EncryptionMethod ds:KeyInfo xenc:CipherData xenc:EncryptionProperties xenc:ReferenceList xenc:CarriedKeyName
attributes parameters
Name | Type | Use | Default | Fixed
Id | ID | optional
Type | anyURI | optional
MimeType | string | optional
Encoding | anyURI | optional
Recipient | string | optional
source | <element name="EncryptedKey" type="xenc:EncryptedKeyType"/>


element xenc:ReferenceList/DataReference

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:ReferenceType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
URI | anyURI | required
source | <element name="DataReference" type="xenc:ReferenceType"/>


element xenc:ReferenceList/KeyReference

Annotation
diagram
namespace | http://www.w3.org/2001/04/xmlenc#
type | xenc:ReferenceType
properties
isRef | 0
content | complex
attributes parameters
Name | Type | Use | Default | Fixed
URI | anyURI | required
source | <element name="KeyReference" type="xenc:ReferenceType"/>


simpleType ds:CryptoBinary

namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
used by
elements ds:RSAKeyValueType/Exponent ds:DSAKeyValueType/G ds:DSAKeyValueType/J ds:RSAKeyValueType/Modulus ds:DSAKeyValueType/P ds:DSAKeyValueType/PgenCounter ds:DSAKeyValueType/Q ds:DSAKeyValueType/Seed ds:DSAKeyValueType/Y
source <simpleType name="CryptoBinary">
<restriction base="base64Binary"/>
</simpleType>


simpleType ds:DigestValueType

namespace | http://www.w3.org/2000/09/xmldsig#
type | base64Binary
used by
element ds:DigestValue
source <simpleType name="DigestValueType">
<restriction base="base64Binary"/>
</simpleType>


simpleType ds:HMACOutputLengthType

namespace | http://www.w3.org/2000/09/xmldsig#
type | integer
used by
element ds:SignatureMethodType/HMACOutputLength
source <simpleType name="HMACOutputLengthType">
<restriction base="integer"/>
</simpleType>


simpleType eanPartyType

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attributes billerAddressType/@ean_party providerAddressType/@ean_party insuranceAddressType/@ean_party transportType/@from transportType/@to transportType/via/@via
facets
pattern ([0-9]{13})
source <simpleType name="eanPartyType">
<restriction base="string">
<pattern value="([0-9]{13})"/>
</restriction>
</simpleType>


simpleType nonEmptyStringType

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
facets
minLength 1
source <simpleType name="nonEmptyStringType">
<restriction base="string">
<minLength value="1"/>
</restriction>
</simpleType>


simpleType stringType1_12

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attributes diagnosisType/@code procedureType/@code
facets
minLength | 1
maxLength | 12
source <simpleType name="stringType1_12">
<restriction base="string">
<minLength value="1"/>
<maxLength value="12"/>
</restriction>
</simpleType>


simpleType stringType1_15

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attribute billerAddressType/@uid_number
facets
minLength | 1
maxLength | 15
source <simpleType name="stringType1_15">
<restriction base="string">
<minLength value="1"/>
<maxLength value="15"/>
</restriction>
</simpleType>


simpleType stringType1_25

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
elements telecomAddressType/fax telecomAddressType/phone
facets
minLength | 1
maxLength | 25
source <simpleType name="stringType1_25">
<restriction base="string">
<minLength value="1"/>
<maxLength value="25"/>
</restriction>
</simpleType>


simpleType stringType1_255

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attribute documentType/@filename
facets
minLength | 1
maxLength | 255
source <simpleType name="stringType1_255">
<restriction base="string">
<minLength value="1"/>
<maxLength value="255"/>
</restriction>
</simpleType>


simpleType stringType1_3

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attributes bfsDataType/@code zipType/@countrycode grouperDataType/@number
facets
minLength | 1
maxLength | 3
source <simpleType name="stringType1_3">
<restriction base="string">
<minLength value="1"/>
<maxLength value="3"/>
</restriction>
</simpleType>


simpleType stringType1_30

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
facets
minLength | 1
maxLength | 30
source <simpleType name="stringType1_30">
<restriction base="string">
<minLength value="1"/>
<maxLength value="30"/>
</restriction>
</simpleType>


simpleType stringType1_35

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
elements | postalAddressType/city companyType/companyname companyType/department personType/familyname personType/givenname postalAddressType/pobox postalAddressType/street personType/subaddressing companyType/subaddressing
attributes | grouperType/@acid diagnosisType/@catalog procedureType/@catalog grouperType/@grouper invoiceType/@request_id mcdType/@request_id personType/@salutation personType/@title documentType/@title
facets
minLength | 1
maxLength | 35
source <simpleType name="stringType1_35">
<restriction base="string">
<minLength value="1"/>
<maxLength value="35"/>
</restriction>
</simpleType>


simpleType stringType1_350

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
element | bodyType/remark
attributes | diagnosisType/@name procedureType/@name diagnosisType/@remark procedureType/@remark billerAddressType/@specialty providerAddressType/@specialty
facets
minLength | 1
maxLength | 350
source <simpleType name="stringType1_350">
<restriction base="string">
<minLength value="1"/>
<maxLength value="350"/>
</restriction>
</simpleType>


simpleType stringType1_50

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attributes softwareType/@copyright dependsOnType/@copyright softwareType/@description dependsOnType/@description softwareType/@name dependsOnType/@name
facets
minLength | 1
maxLength | 50
source <simpleType name="stringType1_50">
<restriction base="string">
<minLength value="1"/>
<maxLength value="50"/>
</restriction>
</simpleType>


simpleType stringType1_64

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attributes grouperDataType/@name bfsDataType/@name
facets
minLength | 1
maxLength | 64
source <simpleType name="stringType1_64">
<restriction base="string">
<minLength value="1"/>
<maxLength value="64"/>
</restriction>
</simpleType>


simpleType stringType1_70

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
element onlineAddressType/email
facets
minLength | 1
maxLength | 70
source <simpleType name="stringType1_70">
<restriction base="string">
<minLength value="1"/>
<maxLength value="70"/>
</restriction>
</simpleType>


simpleType stringType1_9

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
complexType | zipType
attribute | zipType/@statecode
facets
minLength | 1
maxLength | 9
source <simpleType name="stringType1_9">
<restriction base="string">
<minLength value="1"/>
<maxLength value="9"/>
</restriction>
</simpleType>


simpleType zsrPartyType

namespace | http://www.forum-datenaustausch.ch/mcd
type | restriction of string
used by
attributes billerAddressType/@zsr providerAddressType/@zsr
facets
pattern ([A-Z][0-9]{6})
source <simpleType name="zsrPartyType">
<restriction base="string">
<pattern value="([A-Z][0-9]{6})"/>
</restriction>
</simpleType>


simpleType xenc:KeySizeType

namespace | http://www.w3.org/2001/04/xmlenc#
type | integer
used by
element xenc:EncryptionMethodType/KeySize
source <simpleType name="KeySizeType">
<restriction base="integer"/>
</simpleType>