|
Foreword |
5 |
|
|
Preface |
7 |
|
|
Trademarks and Disclaimer |
9 |
|
|
Copy-Editor |
9 |
|
|
Contributors |
9 |
|
|
Reviewers |
10 |
|
|
HL7 Conformance Working Group |
10 |
|
|
Robert Snelick Acknowledgments |
10 |
|
|
Frank Oemig Acknowledgments |
11 |
|
|
Dedication |
12 |
|
|
Contents |
13 |
|
|
About the Authors |
24 |
|
|
Acronyms |
26 |
|
|
List of Figures |
32 |
|
|
List of Tables |
40 |
|
|
Healthcare Information Technology |
46 |
|
|
1 Introduction |
47 |
|
|
1.1 The Case for Common Understanding |
49 |
|
|
1.1.1 The Need for Consistency |
50 |
|
|
1.2 Information Cycle |
51 |
|
|
1.3 Motivation for Cooperation |
52 |
|
|
1.4 Definition of Key Terms and Concepts |
53 |
|
|
1.4.1 Conformance |
53 |
|
|
1.4.2 Interoperability |
54 |
|
|
1.5 Interoperability Levels |
56 |
|
|
1.6 Standards Development Life-Cycle |
57 |
|
|
1.7 ISO/OSI Stack |
59 |
|
|
1.8 Reference Model for Open Distributed Processing (RM-ODP) |
61 |
|
|
1.9 Concept Relationships |
63 |
|
|
1.10 Approaches to Standards Development |
64 |
|
|
1.11 Testing |
66 |
|
|
1.12 Scope and Purpose |
67 |
|
|
1.13 Commonly Used Terms and Definitions |
69 |
|
|
1.14 Intended Audience |
71 |
|
|
1.15 Keywords for Use |
72 |
|
|
1.16 Summary |
72 |
|
|
References |
73 |
|
|
2 Architecture |
75 |
|
|
2.1 Interface |
75 |
|
|
2.1.1 Types of Interfaces |
76 |
|
|
2.1.1.1 Functional (Local + Remote) |
76 |
|
|
2.1.1.2 Message-Based Data Exchange |
77 |
|
|
2.1.1.3 Document Exchange |
78 |
|
|
2.1.2 Communication Paradigms |
79 |
|
|
2.1.3 Protocol Layer |
80 |
|
|
2.1.4 Levels for Interoperability |
80 |
|
|
2.2 Interfacing |
81 |
|
|
2.2.1 Impact on Interfaces |
82 |
|
|
2.3 Serving Interfaces with Data |
83 |
|
|
2.3.1 General “Capability” of a System |
83 |
|
|
2.3.2 Relevance for Interfaces |
85 |
|
|
2.4 Dynamic Behavior |
86 |
|
|
2.4.1 Message Pairs |
86 |
|
|
2.4.2 Timing |
87 |
|
|
2.4.3 Message Identification |
87 |
|
|
2.4.4 Routing to Multiple Destinations |
89 |
|
|
2.4.5 Responsibility of a System |
90 |
|
|
2.4.6 Event Handling |
91 |
|
|
2.4.7 Delayed Message Handling (Sender) |
92 |
|
|
2.4.8 Handling of Outdated Data (Receiver) |
93 |
|
|
2.5 Intermediate Message Handling |
94 |
|
|
2.6 Message Population |
95 |
|
|
2.7 Information Transmission |
96 |
|
|
2.8 Delete Indication |
97 |
|
|
2.8.1 Legal Requirements for Data Persistence |
100 |
|
|
2.8.2 Receiver Responsibility |
100 |
|
|
2.8.3 Data Granularity |
101 |
|
|
2.8.4 Impact of Order of Messages |
101 |
|
|
2.8.5 Sender Responsibility: Impact to System Design |
102 |
|
|
2.9 Null Flavors |
103 |
|
|
2.10 Snapshot Mode Versus Update Mode |
105 |
|
|
2.11 Considerations in Application Development |
108 |
|
|
2.11.1 Introducing Functional Requirements |
108 |
|
|
2.11.2 Conformance Discussion |
113 |
|
|
2.12 Summary |
116 |
|
|
References |
117 |
|
|
3 Healthcare Standards Landscape |
118 |
|
|
3.1 Introduction |
118 |
|
|
3.2 Standards Developing Organizations |
119 |
|
|
3.2.1 UNECE |
119 |
|
|
3.2.2 ASC (US) |
120 |
|
|
3.2.3 ASTM (US) |
121 |
|
|
3.2.4 HL7 |
121 |
|
|
3.2.4.1 Affiliates |
122 |
|
|
3.2.5 DICOM |
122 |
|
|
3.2.6 KBV, ZI and QMS (Germany) |
123 |
|
|
3.2.7 KV-Telematik (Germany) |
123 |
|
|
3.2.8 NCPDP (USA) |
124 |
|
|
3.2.9 OASIS |
125 |
|
|
3.3 Profile Development Organizations |
126 |
|
|
3.3.1 IHE |
126 |
|
|
3.3.2 ELGA (Austria) |
129 |
|
|
3.3.3 eHealth Suisse (Switzerland) |
130 |
|
|
3.3.4 HITSP (US) |
131 |
|
|
3.3.5 S&I Framework (US) |
132 |
|
|
3.3.6 Standards Collaborative (Canada) |
133 |
|
|
3.3.7 Interop’Santé (France) |
134 |
|
|
3.3.8 ASIP Santé (France) |
135 |
|
|
3.3.9 Phast (France) |
135 |
|
|
3.3.10 eSanté (Luxembourg) |
136 |
|
|
3.3.11 Interoperability Forum (Germany) |
136 |
|
|
3.3.12 NHS (UK) |
138 |
|
|
3.3.13 SMART Health IT on FHIR® (US) |
139 |
|
|
3.3.13.1 Profiles |
139 |
|
|
3.4 Overview of Widely Used Standards |
140 |
|
|
3.4.1 HL7 |
140 |
|
|
3.4.1.1 Version 2.x and 3.0 |
140 |
|
|
3.4.1.2 CDA |
141 |
|
|
3.4.1.3 CCOW |
142 |
|
|
3.4.1.4 FHIR |
142 |
|
|
3.4.1.5 More HL7 Family Members |
142 |
|
|
3.4.2 Other Standards |
143 |
|
|
3.5 Summary |
144 |
|
|
References |
144 |
|
|
4 Healthcare Data Exchange Standards |
147 |
|
|
4.1 Introduction |
148 |
|
|
4.2 HL7 Version 2.X |
148 |
|
|
4.2.1 Versions |
149 |
|
|
4.2.2 Information Model |
151 |
|
|
4.2.3 Message Structure |
151 |
|
|
4.2.4 Optionality |
153 |
|
|
4.2.5 Encoding |
154 |
|
|
4.2.6 Delimiters |
156 |
|
|
4.2.7 Delete Requests |
156 |
|
|
4.2.8 Null-Flavors |
157 |
|
|
4.2.9 Data Types |
157 |
|
|
4.2.10 Events |
159 |
|
|
4.2.11 Dynamic Behavior |
161 |
|
|
4.2.12 Transmission Protocols |
163 |
|
|
4.2.13 Tables and Table Values |
163 |
|
|
4.2.14 Conformance Methodology |
165 |
|
|
4.3 FHIR (HL7) |
165 |
|
|
4.3.1 Introduction and Overview |
165 |
|
|
4.3.2 Element Hierarchy |
168 |
|
|
4.3.3 References |
170 |
|
|
4.3.4 Bundling |
171 |
|
|
4.3.5 Retrieval and Queries |
171 |
|
|
4.3.6 Extensibility |
172 |
|
|
4.3.7 Use of Vocabulary |
172 |
|
|
4.3.8 Data Types |
173 |
|
|
4.3.9 Representation/Encoding |
175 |
|
|
4.3.10 Maturity Model |
175 |
|
|
4.3.11 Versions |
176 |
|
|
4.3.12 Profiling by “Slicing” |
177 |
|
|
4.3.13 Conformance |
177 |
|
|
4.3.13.1 Conformance Resource |
178 |
|
|
4.3.13.2 DataElement Resource |
179 |
|
|
4.3.13.3 Structure Definition Resource |
179 |
|
|
4.3.13.4 Operation Definition Resource |
179 |
|
|
4.3.13.5 Search Parameter Resource |
181 |
|
|
4.3.14 Conformance Methodology |
181 |
|
|
4.4 UN/EDIFACT |
182 |
|
|
4.4.1 Introduction and Overview |
182 |
|
|
4.4.2 Message Structure |
182 |
|
|
4.4.3 Delimiter |
183 |
|
|
4.4.4 Data Types Format Notation |
185 |
|
|
4.4.5 Tables |
186 |
|
|
4.4.6 Conformance Methodology |
187 |
|
|
4.5 ebXML |
187 |
|
|
4.5.1 ebRIM |
187 |
|
|
4.5.2 Data Types |
188 |
|
|
4.5.3 Classes and Attributes |
189 |
|
|
4.5.4 Methods |
189 |
|
|
4.5.5 Conformance Methodology |
190 |
|
|
4.6 CTS2 (HL7) |
190 |
|
|
4.6.1 Information Model |
191 |
|
|
4.6.2 Conformance Methodology |
192 |
|
|
4.7 ClaML (ISO) |
192 |
|
|
4.7.1 Information Model |
192 |
|
|
4.7.2 Conformance Methodology |
193 |
|
|
4.8 Technical Compatibility Matrix |
194 |
|
|
4.9 Summary |
194 |
|
|
References |
197 |
|
|
Conformance (and Tools) |
199 |
|
|
5 Conformance Constructs |
200 |
|
|
5.1 Overview |
200 |
|
|
5.1.1 Conformance Constructs Overview |
201 |
|
|
5.1.2 Related Conformance Concepts |
204 |
|
|
5.1.3 Example Specifications |
205 |
|
|
5.1.4 Summary |
206 |
|
|
5.2 Data Structures and Data Types |
207 |
|
|
5.2.1 Binding to Elements |
207 |
|
|
5.2.2 Atomic Versus Complex Information |
208 |
|
|
5.2.3 Representation/Formats |
209 |
|
|
5.2.4 Precision in Representation |
210 |
|
|
5.2.5 Precision in Meaning |
211 |
|
|
5.2.6 Collections of Data Types |
211 |
|
|
5.2.7 Promotion/Demotion (in HL7 V3) |
212 |
|
|
5.3 Usage (Optionality) |
213 |
|
|
5.3.1 Example Application Discussion |
214 |
|
|
5.3.2 Support for an Element |
216 |
|
|
5.3.3 Implementation Support Versus Presence in Instances |
217 |
|
|
5.3.4 Conditional Usage |
218 |
|
|
5.3.5 Case Study: HL7 v2.x Conditional Usage |
219 |
|
|
5.3.6 “Required” Versus “Mandatory” |
220 |
|
|
5.3.7 Binding of Elements |
222 |
|
|
5.3.8 Interface Design Choices |
222 |
|
|
5.3.9 Sender and Receiver Perspectives |
223 |
|
|
5.4 Cardinality |
223 |
|
|
5.4.1 Limitations |
224 |
|
|
5.4.2 Delimiters |
225 |
|
|
5.4.3 Alternate Terms for Cardinality |
225 |
|
|
5.4.4 Notation for Cardinality |
225 |
|
|
5.4.5 Use of Cardinality |
225 |
|
|
5.4.6 Relationship of Optionality and Cardinality |
226 |
|
|
5.5 Length |
227 |
|
|
5.5.1 Sender/Receiver Role |
228 |
|
|
5.5.2 Truncation |
228 |
|
|
5.5.3 Padding |
229 |
|
|
5.5.4 Conformance Length |
230 |
|
|
5.6 Content |
230 |
|
|
5.6.1 Vocabulary |
231 |
|
|
5.6.1.1 Vocabulary Mechanics |
233 |
|
|
5.6.1.2 Value Set Definition and Value Set Expansion |
237 |
|
|
5.6.1.3 Value Sets Using Multiple Code Systems |
237 |
|
|
5.6.1.4 Coded Elements with Text Exceptions |
240 |
|
|
5.6.1.5 Explicit Binding Strength Specification |
241 |
|
|
5.6.1.6 Types of Bindings Used in Standards |
242 |
|
|
5.6.2 Null Flavors (Values) |
242 |
|
|
5.6.3 Fixed Value (Constant) |
243 |
|
|
5.6.4 Default Values |
244 |
|
|
5.6.5 Placeholder Values |
245 |
|
|
5.7 Conformance Statements |
245 |
|
|
5.8 Data Semantics |
246 |
|
|
5.8.1 Models |
246 |
|
|
5.9 Encoding |
246 |
|
|
5.9.1 Display-Oriented Encoding Concepts |
247 |
|
|
5.9.1.1 Escaping |
247 |
|
|
5.9.1.2 Text Formatting |
250 |
|
|
5.9.1.3 Character Sets |
251 |
|
|
5.9.1.4 HL7 v2.x XML Encoding |
254 |
|
|
5.9.2 Presence/Absence of an Element |
254 |
|
|
5.9.2.1 Summary of Presence/Absence Capabilities |
257 |
|
|
5.9.3 Parsing |
257 |
|
|
5.9.3.1 Message Substructures |
258 |
|
|
5.9.3.2 HL7 v2.x: Implicit Segment Structures |
258 |
|
|
5.9.3.3 HL7 v2.x: Explicit Message Structures/BNF |
260 |
|
|
5.9.3.4 HL7 v3 Message Structures |
260 |
|
|
5.10 Summary |
261 |
|
|
References |
261 |
|
|
6 Principles of Specifying Conformance |
263 |
|
|
6.1 Introduction |
263 |
|
|
6.2 Overloaded Terms |
265 |
|
|
6.2.1 Declaring Requirements and Conformance |
265 |
|
|
6.2.2 Requirement Documents |
266 |
|
|
6.3 Conformance Keywords |
266 |
|
|
6.3.1 Impact of Keywords on Requirements |
268 |
|
|
6.3.2 Nested Requirements |
269 |
|
|
6.3.3 Normative and Informative Statements |
270 |
|
|
6.4 Conformance Clause |
270 |
|
|
6.4.1 Conformance Claim |
271 |
|
|
6.5 Specifying Conformance Requirements |
272 |
|
|
6.5.1 Implicit Definitions with Conformance Constructs |
272 |
|
|
6.5.2 Explicit Definition with Normative Statements |
276 |
|
|
6.5.3 Principles for Writing Conformance Requirements |
276 |
|
|
6.6 Scope of Conformance Specifications |
279 |
|
|
6.7 Summary |
281 |
|
|
References |
281 |
|
|
7 Principles of Effective Profiling |
283 |
|
|
7.1 Introduction |
283 |
|
|
7.2 Profiling: Definition of Terms |
284 |
|
|
7.2.1 Profile Components |
289 |
|
|
7.2.2 Annotations |
289 |
|
|
7.3 Refinement of a Standard |
290 |
|
|
7.3.1 Profiling Methodology Summary |
291 |
|
|
7.3.2 Constraints |
291 |
|
|
7.3.2.1 Usage (Optionality) Constraint |
293 |
|
|
7.3.2.2 Cardinality Constraint |
293 |
|
|
7.3.2.3 Data Type Constraint |
293 |
|
|
7.3.2.4 Content (Value Set) Constraint |
294 |
|
|
7.3.2.5 Length Constraint |
295 |
|
|
7.3.2.6 Conformance Statement (Predicate Constraint) |
296 |
|
|
7.3.2.7 Co-constraints |
296 |
|
|
7.3.3 Allowable Constraints |
297 |
|
|
7.3.4 Extensions |
297 |
|
|
7.3.5 Conformance Approaches: Constraints Versus Extensions |
298 |
|
|
7.4 Profile Hierarchy |
298 |
|
|
7.4.1 Profile Hierarchy in Use |
300 |
|
|
7.4.2 Profile Hierarchies for Standard Specifications |
301 |
|
|
7.4.3 Non-compliant Profiles |
303 |
|
|
7.5 Profiling Case Study: HL7 v2 |
304 |
|
|
7.5.1 HL7 v2.x Profiles: Background and Motivation |
304 |
|
|
7.5.2 HL7 v2 Conformance Profile Defined |
306 |
|
|
7.5.3 Message Profile Components Defined |
307 |
|
|
7.6 Vocabulary Profiling |
309 |
|
|
7.6.1 Vocabulary Binding and Profiling |
310 |
|
|
7.6.2 Use of Extensibility and Stability |
313 |
|
|
7.6.3 Profiling at the Code Level |
315 |
|
|
7.6.4 Summary |
323 |
|
|
7.7 Vocabulary Management |
323 |
|
|
7.7.1 Managing Code Systems |
324 |
|
|
7.7.2 Value Set Definition and Expansion |
325 |
|
|
7.7.3 Managing Dynamic Value Sets |
326 |
|
|
7.8 Uses of Conformance Profiles |
328 |
|
|
7.9 Profile Design and Management |
329 |
|
|
7.9.1 Profile Identification Management |
332 |
|
|
7.9.2 Publishing the Specification |
332 |
|
|
7.10 Pairing Sender and Receiver Profiles for Use |
333 |
|
|
7.10.1 One-to-One Profile Pairing |
334 |
|
|
7.10.2 One-to-Many Profile Pairing |
334 |
|
|
7.10.3 Many-to-One Profile Pairing |
336 |
|
|
7.10.4 Design Considerations: Profiling Pairing |
339 |
|
|
7.11 Case Studies |
339 |
|
|
7.11.1 Localization Using Profile Components |
339 |
|
|
7.11.2 IHE Integration Profile |
341 |
|
|
7.11.3 Laboratory Orders, Results, and Public Health |
341 |
|
|
7.11.4 HL7 v2.x Message Profiles (in Germany) |
344 |
|
|
7.12 Documenting Interfaces |
346 |
|
|
7.12.1 Profile and Implementation Relationships |
347 |
|
|
7.12.2 Documentation Quality |
350 |
|
|
7.13 Summary |
350 |
|
|
References |
352 |
|
|
8 Profile Relationships |
354 |
|
|
8.1 Introduction |
354 |
|
|
8.2 Specialization of Profiles |
358 |
|
|
8.2.1 Usage (Optionality) Compliance Rules |
359 |
|
|
8.2.1.1 Conditional Usage |
361 |
|
|
8.2.1.2 Withdrawn Usage |
362 |
|
|
8.2.2 Cardinality Compliance Rules |
363 |
|
|
8.2.3 Length Compliance Rules |
364 |
|
|
8.2.3.1 Maximum Length |
364 |
|
|
8.2.3.2 Minimum Length |
365 |
|
|
8.2.3.3 Conformance Length |
365 |
|
|
8.2.4 Vocabulary Compliance Rules |
366 |
|
|
8.2.4.1 Constraining Vocabulary |
366 |
|
|
8.3 Versioning of Profiles |
367 |
|
|
8.3.1 Example |
369 |
|
|
8.4 Creating New Profiles |
371 |
|
|
8.5 Compatibility of (Sender and Receiver) Profiles |
371 |
|
|
8.5.1 Usage |
372 |
|
|
8.5.2 Cardinality |
374 |
|
|
8.5.3 Length |
374 |
|
|
8.5.4 Vocabulary |
375 |
|
|
8.6 Summary |
376 |
|
|
References |
377 |
|
|
9 Conformance Profiling Tools |
378 |
|
|
9.1 Introduction |
378 |
|
|
9.2 Messaging Workbench |
379 |
|
|
9.3 IGAMT |
382 |
|
|
9.4 MDHT |
384 |
|
|
9.5 ART-DECOR |
385 |
|
|
9.6 Lantana Template Repository: Trifolia |
391 |
|
|
9.7 Forge |
397 |
|
|
9.8 Summary |
399 |
|
|
References |
399 |
|
|
Testing (and Tools) |
401 |
|
|
10 Testing Models |
402 |
|
|
10.1 Introduction |
402 |
|
|
10.2 Testing Objectives |
403 |
|
|
10.3 Definition of Terms |
404 |
|
|
10.4 Test Organization Hierarchy |
405 |
|
|
10.5 Test Evaluation Types |
409 |
|
|
10.6 Testing Models |
411 |
|
|
10.6.1 Data Instance Testing Model |
412 |
|
|
10.6.2 Isolated System Testing Model |
413 |
|
|
10.6.3 Peer-to-Peer System Testing Model |
415 |
|
|
10.7 Additional Testing Considerations |
416 |
|
|
10.8 Summary |
417 |
|
|
References |
418 |
|
|
11 Principles of Conformance Testing |
419 |
|
|
11.1 Overview |
419 |
|
|
11.2 Conformance and Interoperability Testing |
420 |
|
|
11.2.1 Conformance Testing |
420 |
|
|
11.2.2 Interoperability Testing |
420 |
|
|
11.2.3 Conformance and Interoperability Testing Relationship |
421 |
|
|
11.2.4 Periodic Testing |
423 |
|
|
11.2.5 Conformance Testing in Operational Environments |
423 |
|
|
11.3 Standards Development Life-Cycle |
424 |
|
|
11.4 Test Methodology Framework |
426 |
|
|
11.4.1 System-Under-Test (SUT) |
428 |
|
|
11.4.2 Anatomy of a Test Suite |
428 |
|
|
11.4.3 Anatomy of a Test Plan |
428 |
|
|
11.4.4 Anatomy of a Test Case |
429 |
|
|
11.4.5 Anatomy of a Test Step |
429 |
|
|
11.4.6 Test Data |
430 |
|
|
11.4.7 Test Script |
430 |
|
|
11.4.8 Inspection Documents |
431 |
|
|
11.4.9 Test Artifact |
431 |
|
|
11.4.10 Test Assertion |
432 |
|
|
11.4.11 Test Tool |
432 |
|
|
11.4.12 Configuration Information |
432 |
|
|
11.4.13 Test Report |
433 |
|
|
11.5 Testing in Practice |
433 |
|
|
11.5.1 Testing Sending Applications |
433 |
|
|
11.5.1.1 Context-Free Testing Versus Context-Based Testing |
435 |
|
|
11.5.2 Case Study: Laboratory Results |
437 |
|
|
11.5.2.1 Test Procedure Workflow |
443 |
|
|
11.5.3 Testing Receiving Applications |
443 |
|
|
11.5.3.1 Inspection Testing Approach |
444 |
|
|
11.5.3.2 Use of Acknowledgements Approach |
445 |
|
|
11.5.3.3 Query and Response Approach |
445 |
|
|
11.5.3.4 Extended Workflow Approach |
446 |
|
|
11.5.3.5 Artificial System Capability Approach |
448 |
|
|
11.5.3.6 Combining Approaches |
449 |
|
|
11.5.4 Case Study: Incorporation of Laboratory Results |
449 |
|
|
11.5.4.1 Juror Document Interpretation and Use |
452 |
|
|
11.6 Context-Based Test Data Categorizations |
454 |
|
|
11.6.1 Data Content Conformity Assessment Examples |
460 |
|
|
11.6.2 Testing Cardinality and Other Conformance Constructs |
462 |
|
|
11.7 Strategies and Best Practices for Test Case Development |
462 |
|
|
11.8 Capability, Site, and Interoperability Testing |
466 |
|
|
11.9 Negative Testing |
468 |
|
|
11.9.1 Message and Document Incorporation |
469 |
|
|
11.9.2 Boundary Testing |
471 |
|
|
11.9.3 False Positive and False Negative Test Results |
471 |
|
|
11.10 Other Types of Testing |
472 |
|
|
11.10.1 Smoke Testing |
473 |
|
|
11.10.2 Communication Testing |
473 |
|
|
11.10.3 Application Functional Testing |
474 |
|
|
11.10.4 Data Quality Testing |
475 |
|
|
11.10.5 Usability Testing |
476 |
|
|
11.10.6 Load Testing |
477 |
|
|
11.11 Summary |
477 |
|
|
References |
479 |
|
|
12 Conformity Assessment |
481 |
|
|
12.1 Overview |
481 |
|
|
12.2 Processing Aspects (for Receiving Applications) |
484 |
|
|
12.3 Usage/Optionality |
484 |
|
|
12.3.1 Sender Usage Conformity Assessments |
485 |
|
|
12.3.2 Receiver Usage Conformity Assessment |
487 |
|
|
12.4 Cardinality |
493 |
|
|
12.4.1 Sender Cardinality Conformity Assessment |
494 |
|
|
12.4.2 Receiver Cardinality Conformance Assessment |
500 |
|
|
12.5 Vocabulary Conformance and Assessment |
511 |
|
|
12.5.1 Vocabulary Conformance |
511 |
|
|
12.5.2 Vocabulary Conformity Assessment |
513 |
|
|
12.5.2.1 Conformity Assessment for Senders |
513 |
|
|
12.5.2.2 Conformity Assessment for Receivers |
515 |
|
|
12.6 Summary |
516 |
|
|
References |
516 |
|
|
13 Testing Architectures |
517 |
|
|
13.1 Introduction |
517 |
|
|
13.2 Testing Infrastructure |
518 |
|
|
13.2.1 Key Objectives of a Testing Infrastructure |
521 |
|
|
13.2.2 Resource Repository |
521 |
|
|
13.2.3 Test Harness |
522 |
|
|
13.2.4 Services |
523 |
|
|
13.2.4.1 Generation Services |
523 |
|
|
13.2.4.2 Validation Services |
525 |
|
|
13.2.4.3 Test Agents |
525 |
|
|
13.2.4.4 Registry/Repository Services |
528 |
|
|
13.2.4.5 Test Data Services |
528 |
|
|
13.2.4.6 Report Services |
529 |
|
|
13.2.4.7 Consistent Time Service |
529 |
|
|
13.2.4.8 Proxy Service |
529 |
|
|
13.2.4.9 Communication Infrastructure |
529 |
|
|
13.2.4.10 Terminology Service |
530 |
|
|
13.2.4.11 Aggregated Services |
531 |
|
|
13.2.4.12 Other Services |
531 |
|
|
13.2.5 Infrastructure Components |
532 |
|
|
13.2.6 Testing Infrastructure—A Broader Context |
532 |
|
|
13.2.6.1 Test Management Systems |
532 |
|
|
13.2.6.2 Tool Access and Delivery |
533 |
|
|
13.2.6.3 External Tools and Services |
534 |
|
|
13.2.6.4 Development Components |
535 |
|
|
13.2.7 Testing Infrastructure Observations |
535 |
|
|
13.3 A Test Scenario |
535 |
|
|
13.4 Testing Frameworks |
539 |
|
|
13.4.1 Data Instance Test Framework |
539 |
|
|
13.4.2 Isolated System Test Framework |
541 |
|
|
13.4.3 Peer-to-Peer Testing Framework |
542 |
|
|
13.5 Instantiation of Test Tools |
544 |
|
|
13.5.1 Data Instance Testing Test Tool |
544 |
|
|
13.5.2 Isolated System Testing Test Tool |
545 |
|
|
13.5.3 Interoperability Test Bed |
549 |
|
|
13.5.3.1 Operational Functions |
549 |
|
|
13.5.3.1.1ƒSimulating a Vendor System |
552 |
|
|
13.5.3.2 Test Flow |
552 |
|
|
13.5.3.2.1ƒScheduling and Configuration |
553 |
|
|
13.5.3.2.2ƒTest Execution Status Evaluation and Progress Display |
553 |
|
|
13.5.3.2.3ƒOrchestration of Events |
554 |
|
|
13.5.3.2.4ƒAnalysis and Results Reporting |
557 |
|
|
13.5.3.2.5ƒDiscussion |
557 |
|
|
13.5.3.3 Need for the ITB |
558 |
|
|
13.5.3.4 Multiple Domain Test Scenarios and Testing |
558 |
|
|
13.6 Summary |
559 |
|
|
References |
559 |
|
|
14 Testing Tools |
561 |
|
|
14.1 Introduction |
561 |
|
|
14.2 NIST HL7 v2.x Test Tools |
562 |
|
|
14.2.1 NIST Immunization Test Suite |
563 |
|
|
14.2.1.1 General Tool Capabilities |
563 |
|
|
14.2.1.2 Testing Sending Applications in the Tool |
565 |
|
|
14.2.1.3 Testing Receiving Applications in the Tool |
568 |
|
|
14.2.2 Testing Functional Requirements with the Tool |
570 |
|
|
14.2.3 NIST HL7 v2.x Testing Web Services API |
572 |
|
|
14.3 Message Workbench (MWB) |
572 |
|
|
14.3.1 Message Instance Validation |
572 |
|
|
14.3.2 Message Validation via a Proxy-Server |
573 |
|
|
14.3.3 MWB Validation Server |
573 |
|
|
14.4 CDC Message Quality Framework |
575 |
|
|
14.5 AHML-Australian Healthcare Messaging Laboratory |
576 |
|
|
14.5.1 Message Testing Process |
577 |
|
|
14.5.2 Reporting |
579 |
|
|
14.6 CDA Test Tools |
579 |
|
|
14.6.1 ART-DECOR |
579 |
|
|
14.6.2 Lantana Trifolia |
580 |
|
|
14.6.3 NIST CDA Testing |
581 |
|
|
14.6.4 eHealth Suisse |
583 |
|
|
14.6.5 IHE Gazelle Object Checker |
584 |
|
|
14.7 IHE Conformance and Interoperability Test Tools |
584 |
|
|
14.8 e-Prescribing (e-Rx) Tools |
586 |
|
|
14.8.1 NIST e-Prescribing Test Tool |
587 |
|
|
14.9 DVTk—DICOM Validation Toolkit |
588 |
|
|
14.9.1 History |
588 |
|
|
14.9.2 Functionality |
588 |
|
|
14.10 Related Tools |
590 |
|
|
14.10.1 HAPI |
590 |
|
|
14.10.2 MDHT |
591 |
|
|
14.10.3 IPF (by Open eHealth Foundation) |
592 |
|
|
14.10.4 eHealth Connector (by eHealth Suisse) |
592 |
|
|
14.11 Table of Tools and Access Points |
593 |
|
|
14.12 Summary |
593 |
|
|
References |
593 |
|
|
15 Testing and Certification Programs |
595 |
|
|
15.1 Introduction |
595 |
|
|
15.2 Certification Perspectives |
596 |
|
|
15.3 IHE Testing Programs |
598 |
|
|
15.3.1 IHE Technical Framework Overview |
598 |
|
|
15.3.2 IHE Testing Process |
598 |
|
|
15.3.2.1 Pre-connect-a-Thon |
600 |
|
|
15.3.2.2 Virtual Connect-a-Thon |
600 |
|
|
15.3.2.3 Connect-a-Thon |
601 |
|
|
15.3.3 IHE Product Registry |
602 |
|
|
15.3.4 Gazelle |
603 |
|
|
15.4 EHR Certification and Meaningful Use Programs |
604 |
|
|
15.4.1 Patient Safety and Federal EHR Technology Programs |
604 |
|
|
15.4.2 The Federal HIT Certification Program |
605 |
|
|
15.4.3 The Role of NIST |
610 |
|
|
15.4.4 Reaction in the Market to the Federal EHR Programs |
613 |
|
|
15.4.5 The Interoperability Factor |
618 |
|
|
15.4.6 Summary and Conclusions |
619 |
|
|
15.5 Other Programs |
620 |
|
|
15.5.1 Surescripts |
620 |
|
|
15.5.2 Certification in Australia |
620 |
|
|
15.5.3 Certification in Germany |
621 |
|
|
15.6 Scope of Certification Testing |
622 |
|
|
15.7 Summary |
624 |
|
|
References |
624 |
|
|
Appendix A: Additional Healthcare Data Exchange Standards |
626 |
|
|
A.1 HL7 Version 3 |
626 |
|
|
A.1.1 Reference Information Model (RIM) |
627 |
|
|
A.1.2 Structural Attributes |
631 |
|
|
Outline placeholder |
1 |
|
|
A.1.2.1 Mood Code |
631 |
|
|
A.1.2.2 Class Code |
632 |
|
|
A.1.3 Null-Flavors |
633 |
|
|
A.1.4 Required and Mandatory Values |
633 |
|
|
A.1.5 State Transitions |
635 |
|
|
A.1.6 Application Roles |
635 |
|
|
A.1.7 Data Types |
637 |
|
|
A.1.8 ITS |
637 |
|
|
A.1.9 Recursive Relationships |
638 |
|
|
A.2 CDA |
638 |
|
|
Outline placeholder |
1 |
|
|
A.2.1 Levels |
642 |
|
|
A.2.2 Releases |
644 |
|
|
A.2.3 Templates |
645 |
|
|
A.2.4 Implementation Guides |
646 |
|
|
A.2.5 SDA—Structured Document Architecture |
646 |
|
|
A.3 ASTM |
647 |
|
|
Outline placeholder |
1 |
|
|
A.3.1 Message Structure and Segments |
647 |
|
|
A.3.2 Chapters |
647 |
|
|
A.3.3 Conformance Methodology |
648 |
|
|
A.4 DICOM |
649 |
|
|
Outline placeholder |
1 |
|
|
A.4.1 Introduction and Overview |
649 |
|
|
A.4.2 Information Model |
649 |
|
|
A.4.3 Information Object |
650 |
|
|
A.4.4 Data Element |
652 |
|
|
A.4.5 Value Representation |
653 |
|
|
A.4.6 Conformance Methodology |
654 |
|
|
A.4.7 Proprietary Extensions |
654 |
|
|
A.5 XDT (Germany) |
655 |
|
|
Outline placeholder |
1 |
|
|
A.5.1 Introduction and Overview |
655 |
|
|
A.5.2 Information Model |
656 |
|
|
A.5.3 Data Exchange |
656 |
|
|
A.5.4 Encoding and Parsing |
657 |
|
|
A.5.5 Explanation of Segment Structure |
658 |
|
|
A.5.6 Overall Structure (Message Structure) |
659 |
|
|
A.5.7 “Datenpaket” (Data Package/Message) |
660 |
|
|
A.5.8 “Satz” (Segment) |
660 |
|
|
A.5.8.1 “Feldarten” (Optionality) |
663 |
|
|
A.5.9 “Bedingung” (Condition/Rules) |
663 |
|
|
Outline placeholder |
1 |
|
|
A.5.10 Feldtabelle (Data Element Table) |
664 |
|
|
A.5.11 Feldtypen (Data Types) |
664 |
|
|
A.5.12 Vocabulary |
665 |
|
|
A.5.13 Character Sets |
666 |
|
|
A.5.14 Example |
667 |
|
|
A.5.15 Conformance Methodology |
668 |
|
|
A.6 Hprim Santé (France) |
668 |
|
|
Outline placeholder |
1 |
|
|
A.6.1 Introduction and Overview |
669 |
|
|
A.6.2 Segments |
669 |
|
|
A.6.2.1 Properties |
670 |
|
|
A.6.3 Message Types |
671 |
|
|
A.6.4 Message Structure |
671 |
|
|
A.6.4.1 Comparison to HL7 V2.X |
674 |
|
|
A.6.5 Data Types |
675 |
|
|
A.6.6 Vocabulary |
675 |
|
|
A.6.7 Encoding |
676 |
|
|
A.6.8 Conformance Methodology |
676 |
|
|
A.7 PN13 (France) |
676 |
|
|
Outline placeholder |
1 |
|
|
A.7.1 Introduction and Overview |
677 |
|
|
A.7.2 Message Types |
677 |
|
|
A.7.3 Data Elements |
677 |
|
|
A.7.4 Data Type |
678 |
|
|
A.7.5 Optionality and Cardinality |
680 |
|
|
A.7.6 Representation |
680 |
|
|
A.7.7 Conformance Methodology |
680 |
|
|
A.8 Summary |
680 |
|
|
References |
682 |
|
|
Appendix B: Trademark Information |
683 |
|
|
Index |
685 |
|