<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:tns="http://ws.viamedis.com/model/pec/hospit/response"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	attributeFormDefault="unqualified" elementFormDefault="qualified"
	targetNamespace="http://ws.viamedis.com/model/pec/hospit/response">
	<xsd:annotation>
		<xsd:documentation>
			Ce schéma XML définit le format des échanges entre VIAMEDIS
			et un OMC dans le cadre de l'automatisation des devis, des
			prises en charge (PEC), et annulation des PECs.
		</xsd:documentation>
	</xsd:annotation>

	<xsd:element name="REPONSE_HOSPIT" type="tns:REPONSE_HOSPIT_DETAIL" />

	<xsd:complexType name="REPONSE_HOSPIT_DETAIL">
		<xsd:annotation>
			<xsd:documentation>
				Structure d'une réponse d'un OMC vers VIAMEDIS.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="ENTETE" type="tns:ENTETE_DETAIL">
				<xsd:annotation>
					<xsd:documentation>
						Entête technique
					</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="REPONSE_CONTENT" type="tns:REPONSE_CONTENT_DETAIL" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ENTETE_DETAIL">
		<xsd:annotation>
			<xsd:documentation>
				Structure de l'entête d'une requête.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="DATE_DMD" type="tns:DATE_STRING_TYPE">
				<xsd:annotation>
					<xsd:documentation>
						Date à laquelle cette requête a été constituée.
					</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="HEURE_DMD"
				type="tns:HEURE_STRING_TYPE">
				<xsd:annotation>
					<xsd:documentation>
						Heure à laquelle cette requête a été constituée.
					</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ORIGINE">
				<xsd:annotation>
					<xsd:documentation>
						Origine du flux
					</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:maxLength value="20" />
						<xsd:minLength value="0" />
						<xsd:enumeration value="VIAMEDIS" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="NUM_DMD">
				<xsd:annotation>
					<xsd:documentation>
						Identifiant de la requête
					</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:maxLength value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="TYPE_FLUX">
				<xsd:annotation>
					<xsd:documentation>Type du flux</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:length value="3" />
						<xsd:enumeration value="PEC" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="TYPE_MESSAGE">
				<xsd:annotation>
					<xsd:documentation>
						Type de message
					</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="80" />
						<xsd:enumeration
							value="REPONSE PEC HOSPITALISATION DEMANDE SUPPRESSION" />
						<xsd:enumeration
							value="REPONSE_PEC_HOSPITALISATION_DEMANDE_SUPPRESSION" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="NATURE_MESSAGE">
				<xsd:annotation>
					<xsd:documentation>
						Nature du message indiquant si flux de
						production ou de test, 2 valeurs possibles :
						PROD ou TEST
					</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="10" />
						<xsd:enumeration value="PROD" />
						<xsd:enumeration value="TEST" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="NUM_PEC_OTP" type="tns:NUM_OTP_TYPE" />
			<xsd:element name="NUM_PEC_OMC" type="tns:NUM_OMC_TYPE" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="REPONSE_CONTENT_DETAIL" abstract="true" />

	<xsd:complexType name="ANNUL_DETAIL">
		<xsd:annotation>
			<xsd:documentation>
				Réponse à l'annulation d'une PEC
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="tns:REPONSE_CONTENT_DETAIL">
				<xsd:sequence>
					<xsd:element name="LIBELLE">
						<xsd:annotation>
							<xsd:documentation>
								Libelle annulation
							</xsd:documentation>
						</xsd:annotation>
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:maxLength value="100" />
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:element>
				</xsd:sequence>

			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>

	<xsd:complexType name="REFUS_DETAIL">
		<xsd:complexContent>
			<xsd:extension base="tns:REPONSE_CONTENT_DETAIL">
				<xsd:sequence>
					<xsd:element name="CODE">
						<xsd:annotation>
							<xsd:documentation>
								Code refus
							</xsd:documentation>
						</xsd:annotation>
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:maxLength value="7" />
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:element>
					<xsd:element name="LIBELLE">
						<xsd:annotation>
							<xsd:documentation>
								Libelle refus
							</xsd:documentation>
						</xsd:annotation>
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:maxLength value="100" />
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>	

	<xsd:simpleType name="NUM_OMC_TYPE">
		<xsd:annotation>
			<xsd:documentation>
				Numéro de devis/pec généré par un OMC
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="15" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="NUM_OTP_TYPE">
		<xsd:annotation>
			<xsd:documentation>
				N° de devis/pec fourni par OTP (maxlength
				actuellement utilisé à 5 mais passera à 15)
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="15" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="DATE_STRING_TYPE">
		<xsd:annotation>
			<xsd:documentation>
				Représentation alphanumérique d'une date au format ISO,
				sans séparateur.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:length value="8"></xsd:length>
			<xsd:pattern
				value="((((19|20)(([02468][048])|([13579][26]))0229))|((20[0-9][0-9])|(19[0-9][0-9]))((((0[1-9])|(1[0-2]))((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))31)|(((0[1,3-9])|(1[0-2]))(29|30)))))">
			</xsd:pattern>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="HEURE_STRING_TYPE">
		<xsd:annotation>
			<xsd:documentation>
				Représentation alphanumérique d'une heure, sans
				séparateur.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:length value="6"></xsd:length>
			<xsd:pattern
				value="(([0-1]?[0-9])|([2][0-3]))([0-5]?[0-9])([0-5]?[0-9])">
			</xsd:pattern>
		</xsd:restriction>
	</xsd:simpleType>

</xsd:schema>