-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathPHR_Common.xsd
More file actions
145 lines (140 loc) · 5.52 KB
/
PHR_Common.xsd
File metadata and controls
145 lines (140 loc) · 5.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2019 sp1 (x64) (http://www.altova.com) von n/a (Gematik) bearbeitet -->
<!-- ===================================================================== -->
<!-- Copyright (C) 2019 gematik. Alle Rechte vorbehalten. -->
<!-- ===================================================================== -->
<!-- Version History
version: V1.3
===========
*** remove pattern from DisplayName of DeviceIdType
version: V1.2
===========
*** added TelematikIdType
*** added RecordProviderListEntryType
*** removed namespace vsd:, insurantId now local
version: V1.1
===========
*** Überarbeitung Verschlüsselungskonzept ePa mit SGD (Schlüsselgenerierungsdienst)
*** Konkretisierung der Definiton für DeviceID
version: V1.0
===========
*** Initiale Erstellung
End of Version History-->
<!-- xmlns:vsd="http://ws.gematik.de/fa/vsdm/vsd/v5.2" -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hl7="urn:hl7-org:v3" xmlns:tns="http://ws.gematik.de/fa/phr/v1.1" targetNamespace="http://ws.gematik.de/fa/phr/v1.1" elementFormDefault="qualified">
<xs:import namespace="urn:hl7-org:v3" schemaLocation="../../ext/HL7V3/NE2008/coreschemas/infrastructureRoot.xsd"/>
<!--xs:import namespace="http://ws.gematik.de/fa/vsdm/vsd/v5.2" schemaLocation="../../fa/vsds/Schema_VSD.xsd"/-->
<xs:element name="RecordIdentifier" type="tns:RecordIdentifierType"/>
<xs:element name="DeviceId" type="tns:DeviceIdType"/>
<xs:element name="PHRKey" type="tns:PHRKeyType"/>
<xs:complexType name="RecordIdentifierType">
<xs:sequence>
<xs:element name="InsurantId" type="tns:InsurantIdType" minOccurs="1" maxOccurs="1"/>
<xs:element name="HomeCommunityId" type="tns:HomeCommunityIdType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Home Community ID cf. [IHE-ITI-TF3#4.2.3.2.12]</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InsurantIdType">
<xs:attribute name="root" type="hl7:uid" use="required" fixed="1.2.276.0.76.4.8">
<xs:annotation>
<xs:documentation>OID for unalterable part of KVNR</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="extension" type="tns:insurantId" use="required">
<xs:annotation>
<xs:documentation>unalterable part of KVNR</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="DeviceIdType">
<xs:sequence>
<xs:element name="Device" type="tns:DeviceType"/>
</xs:sequence>
<xs:attribute name="DisplayName" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:simpleType name="DeviceType">
<xs:restriction base="xs:base64Binary">
<xs:minLength value="0"/>
<xs:maxLength value="120"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PHRKeyType">
<xs:sequence>
<xs:element name="RecordKey" type="tns:KeyType"/>
<xs:element name="ContextKey" type="tns:KeyType"/>
</xs:sequence>
<xs:attribute name="insurant" type="tns:insurantId" use="required"/>
</xs:complexType>
<xs:complexType name="KeyType">
<xs:simpleContent>
<xs:extension base="xs:base64Binary">
<xs:attribute name="algorithm" type="xs:anyURI" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="HomeCommunityIdType">
<xs:restriction base="xs:anyURI">
<xs:pattern value="urn:oid:(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TelematikIdType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:complexType name="NotificationInfoListEntryType">
<xs:sequence>
<xs:element name="ActorID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="NotificationInfo" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RecordProviderListEntryType">
<xs:sequence>
<xs:element name="FQDN" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="ProviderName" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:element name="DischargeLetterContainer" type="tns:DischargeLetterContainerType"/>
<xs:complexType name="DischargeLetterContainerType">
<xs:sequence>
<xs:element name="PDF" type="xs:base64Binary" minOccurs="1" maxOccurs="1"/>
<xs:element name="CDA" type="tns:CDAType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>VHitG 1.50 CDA Discharge Letter</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CDAType">
<xs:simpleContent>
<xs:extension base="xs:base64Binary">
<xs:attribute ref="tns:level" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:attribute name="level">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:simpleType name="insurantId">
<xs:annotation>
<xs:documentation>1. Stelle: Alpha-Zeichen (A - Z, ohne Umlaute), 2. bis 9. Stelle: 8-stellige lfd. Zaehlnummer, 10. Stelle: Pruefziffer</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{8}[0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>