<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:tns="http://ws.viamedis.com/model/pec/hospit/request"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	attributeFormDefault="unqualified" elementFormDefault="qualified"
	targetNamespace="http://ws.viamedis.com/model/pec/hospit/request">

	<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="REQUETE_HOSPIT" type="tns:REQUETE_HOSPIT_DETAIL" />

	<xsd:complexType name="REQUETE_HOSPIT_DETAIL">
		<xsd:annotation>
			<xsd:documentation>
				Structure d'une requête d'un PS 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="REQUETE_CONTENT" type="tns:ANNUL_DETAIL" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ENTETE_DETAIL">
		<xsd:annotation>
			<xsd:documentation>
				Structure de l'entête d'une requête VIAMEDIS vers un
				OMC.
			</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="PEC HOSPITALISATION DEMANDE SUPPRESSION" />
						<xsd:enumeration
							value="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="RESEAU" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>
						Reseau pour lequel appartient le couple
						PS/Beneficiaire
					</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:maxLength value="9" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>

			<xsd:element name="TRT_DIFFERE_QM" type="xsd:boolean"
				default="false">
				<xsd:annotation>
					<xsd:documentation>
						Indique si cette demande provient d'une requête
						mise en instance (oui, non)
					</xsd:documentation>
				</xsd:annotation>
			</xsd:element>

			<xsd:element name="CANAL_ENTREE">
				<xsd:annotation>
					<xsd:documentation>
						Indique si la demande provient du site internet
						ou de l'interfaçage: 00 = Test, 01 = Site Web,
						02 = Web Service 11 = Site Assuré
					</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:length value="2" />
						<xsd:enumeration value="00" />
						<xsd:enumeration value="01" />
						<xsd:enumeration value="02" />
						<xsd:enumeration value="11" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="ANNUL_DETAIL">
		<xsd:annotation>
			<xsd:documentation>
				Demande d'annulation d'une PEC
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="NUM_PEC_OTP" type="tns:NUM_OTP_TYPE" />
			<xsd:element name="NUM_PEC_OMC" type="tns:NUM_OMC_TYPE" />
			<xsd:element name="CODE">
				<xsd:annotation>
					<xsd:documentation>
						Code de l'annulation
					</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 de l'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: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>