From 366c5544665a65d8c0f15567bb0594030e752406 Mon Sep 17 00:00:00 2001
From: aai <aai@kereval.com>
Date: Mon, 8 Nov 2021 16:37:46 +0100
Subject: [PATCH] Add Sequoia Generation script

---
 .../assemble-scripts/SEQUOIAGeneration.sh     |  207 ++
 .../assemble-scripts/SEQUOIASVSAdaptation.sh  |   93 +
 .../ccda21/GazelleValidatorCore.java          |    2 +-
 .../ccda21/MicroDocumentValidation.java       |   51 +-
 .../db/{utils => }/ConceptProviderDBImpl.java |    2 +-
 .../db/{utils => }/ConnectionUtil.java        |    2 +-
 .../gazelle/db/test/ConnectionUtilTest.java   |    2 +-
 .../resources/sequoia-db-hack/xsd/CDA.xsd     |   11 +
 .../sequoia-db-hack/xsd/POCD_MT000040.xsd     | 1351 ++++++++++
 .../xsd/POCD_MT000040_SDTC.xsd                | 1379 +++++++++++
 .../resources/sequoia-db-hack/xsd/SDTC.xsd    |   59 +
 .../xsd/coreschemas/NarrativeBlock.xsd        |  544 ++++
 .../xsd/coreschemas/datatypes-base.xsd        | 1860 ++++++++++++++
 .../xsd/coreschemas/datatypes.xsd             | 1378 +++++++++++
 .../xsd/coreschemas/infrastructureRoot.xsd    |   41 +
 .../sequoia-db-hack/xsd/coreschemas/voc.xsd   | 2194 +++++++++++++++++
 .../coreschemas/NarrativeBlock.xsd            |  557 +++++
 .../coreschemas/datatypes-base_SDTC.xsd       | 1872 ++++++++++++++
 .../xsd/processable/coreschemas/datatypes.xsd | 1380 +++++++++++
 .../coreschemas/infrastructureRoot.xsd        |   27 +
 .../xsd/processable/coreschemas/voc.xsd       | 2124 ++++++++++++++++
 21 files changed, 15105 insertions(+), 31 deletions(-)
 create mode 100755 hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIAGeneration.sh
 create mode 100755 hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIASVSAdaptation.sh
 rename hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/{utils => }/ConceptProviderDBImpl.java (89%)
 rename hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/{utils => }/ConnectionUtil.java (99%)
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/CDA.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040_SDTC.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/SDTC.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/NarrativeBlock.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes-base.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/infrastructureRoot.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/voc.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/NarrativeBlock.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes-base_SDTC.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/infrastructureRoot.xsd
 create mode 100644 hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/voc.xsd

diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIAGeneration.sh b/hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIAGeneration.sh
new file mode 100755
index 0000000..c23e905
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIAGeneration.sh
@@ -0,0 +1,207 @@
+#!/bin/bash
+
+#Colors definitions for terminal
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+ORANGE='\033[0;33m'
+NC='\033[0m'
+
+#SEQUOIA Validators
+MU3="HL7 - C-CDA R2.1 - Meaningful Use Stage 3"
+USCDI="HL7 - C-CDA R2.1 - USCDI"
+CCDA_R_1="HL7 - C-CDA R1.1"
+
+# Try to get the jar of GOC automatically
+jarPath=$(ls -l | grep -oh  -e  "[^ ]*-jar-with-dependencies\.jar")
+
+if [ -z "$jarPath" ]; then
+  echo -e "${ORANGE}Could not detect the JAR of GOC, please provide the path manually${NC}"
+  read -r jarPath
+else
+  absJarPath=$(realpath "$jarPath")
+  echo -e "${GREEN}A GOC JAR has been detected at: (${jarPath}) want you to use it?${NC}"
+  printf "hit enter for yes, enter an other path to change it: "
+  read -r newJarPath
+  if [ ! -z "$newJarPath" ]; then
+    isAbsPath=$(echo "${newJarPath}" | grep -c "^/.*")
+    if [ "$isAbsPath" -eq 0 ]; then
+        echo -e "${RED}[ ${newJarPath} ] is not an absolute path${NC}"
+        exit 1
+    fi
+    absJarPath=$newJarPath
+  fi
+fi
+
+
+#Try to use maven wrapper
+if [ -f ./classes/maven-wrapper/mvnw  ];then
+#  base_dir=$(realpath ./classes/maven-wrapper)
+  mavenPath=$(realpath "./classes/maven-wrapper/mvnw")
+  testMaven=$($mavenPath -v)
+  if [ ! -z "$testMaven" ]; then
+    echo -e "${GREEN}Using maven wrapper with version 5.3.4${NC}"
+  else
+    mavenPath=""
+  fi;
+else
+  mavenPath=""
+fi;
+
+if [ -z "$mavenPath" ];then
+  #Try to get maven path automatically
+  echo -e "${ORANGE}Could not find Maven Wrapper, trying to detect local installation automatically...${NC}"
+  mavenPath=$(mvn -v | sed -n 2p | grep -oh -e "/.*")
+  mvnVersion=$(echo "$mavenPath" |grep -oh -e "3\.5\..*")
+  if [ -z "$mavenPath" ] || [ -z "$mvnVersion" ];then
+    echo -e "${ORANGE}Could not detect the required maven installation [5.3.x], please enter the absolute to the binary file of maven: ${NC}"
+    read -r mavenPath
+    testMaven2=$($mavenPath -v)
+    if [ -z "$testMaven2" ];then
+      echo -e "${RED}Wrong maven executable...${NC}"
+      exit 1
+    fi;
+    mvnVersion=$(mvn -v | sed -n 2p | grep -oh -e "3\.5\..*")
+    if [ -z "$mvnVersion" ];then
+      echo -e "${RED}Wrong maven version, please provide a [3.5.x] version...${NC}"
+      exit 1
+    fi
+  else
+    echo -e "${GREEN}A valid maven version detect ${mvnVersion}, do you want to use it?${NC}"
+    printf "Press enter for yes, enter absolute path for maven binary to change it: "
+    read -r newMaven
+    if [ -z newMaven ]; then
+      mavenPath="${mavenPath}/bin/mvn"
+    else
+      if [ -f "$newMaven" ];then
+        testMaven3=$($newMaven -v)
+        if [ ! -z "$testMaven3"]; then
+          mavenVersion2=$($newMaven -v | sed -n 2p | grep -oh -e "3\.5\..*")
+          if [ ! -z "$mavenVersion2" ]; then
+            mavenPath="$newMaven"
+          else
+            echo "${RED}Wrong maven version, needed [3.5.x], try to re-install GOC, and use the wrapper${NC}"
+            exit 1
+          fi;
+        else
+          echo "${RED}Wrong maven path${NC}"
+        fi;
+      else
+        echo "${RED}File Not found!${NC}"
+      fi;
+    fi;
+  fi
+fi;
+
+
+echo -e "${GREEN}Using maven at: ${mavenPath}${NC}"
+
+
+printf "Please enter a path to your BBR (Absolute Path) : "
+read -r bbrPath
+isAbsPath=$(echo "${bbrPath}" | grep ^/.* | wc -l)
+if [ "$isAbsPath" -eq 0 ]; then
+    echo -e "${RED}[ ${bbrPath} ] is not an absolute path${NC}"
+    exit 1
+fi
+if [ ! -f "$bbrPath" ]; then
+    echo -e "${RED}[ ${bbrPath} ] is not a file or doesn't exist !${NC}"
+    exit 1
+fi
+
+printf "Please choose the kind of validator you want to generate: \n"
+printf "\t 1- $MU3\n"
+printf "\t 2- $USCDI\n"
+printf "\t 3- $CCDA_R_1\n"
+printf "your choice: "
+read -r choice
+
+if [ "$choice" -gt 3 -o "$choice" -lt 1 ]; then
+  echo "${RED}Wrong choice, please repeat and choose between 1 and 3${NC}"
+  exit 1
+fi
+
+versionLabel=""
+case $choice in
+
+  1)
+    echo -e "${GREEN}generating ${MU3// /}${NC}"
+    validator=${MU3// /}
+    versionLabel="2.1"
+    ;;
+  2)
+    echo -e "${GREEN}generation ${USCDI// /}${NC}"
+     validator=${USCDI// /}
+     versionLabel="2.1"
+    ;;
+  3)
+    echo -e "${GREEN}generation ${CCDA_R_1// /}${NC}"
+    validator=${CCDA_R_1// /}
+    versionLabel="1.1"
+    ;;
+esac
+
+printf "Please enter workspace path (where you want to generate the validator): "
+read -r workspaceDir
+if [ ! -d "$workspaceDir" ]; then
+  echo "${RED}The provided workspace is not a valid directory"
+  exit 0
+fi
+
+isAbsPath=$(echo "${workspaceDir}" | grep -c "^/.*")
+if [ "$isAbsPath" -eq 0 ]; then
+    echo -e "${RED}[ ${workspaceDir} ] is not an absolute path"
+    exit 0
+fi
+
+_currDate=$(date +%Y-%m-%d-%H-%M-%S)
+printf "Please enter the folder name of your validator: (output-${validator}-${_currDate})?: "
+read -r folderName
+if [ -z "$folderName" ]; then
+  folderName="output-${validator}-${_currDate}"
+fi;
+
+echo -e "${GREEN}your validator will be generated in: ${workspaceDir}/${folderName}${NC}"
+
+######## GENERATION COMMAND ########
+java -jar "$absJarPath" -bbr "$bbrPath" -out "${workspaceDir}/${folderName}" -mvn "$mavenPath" -serviceName "$validator" -versionLabel "$versionLabel" -ignoreTemplateIdRequirements -ignoreCdaBasicRequirements
+####################################
+
+echo -e "${GREEN}Validator generated successfully${NC}"
+
+echo -e "${NC}Start SVS Adaptations..."
+
+if [ ! -f ./SEQUOIASVSAdaptation.sh ]; then
+  echo -e "${RED}Could not find the SEQUOIASVSAdaptation script, please recompile GOC and rerun this script"
+  exit 1;
+fi;
+
+pathToResources=''
+
+if [ ! -d ./classes/sequoia-db-hack ]; then
+  echo -e "${RED}Resources for adaptations not found, please provide a path manually"
+  read -r $pathToResources
+else
+  pathToResources=$(realpath ./classes/sequoia-db-hack)
+fi
+
+if [ ! -x ./SEQUOIASVSAdaptation.sh ]; then
+  chmod +x SEQUOIASVSAdaptation.sh
+fi;
+
+./SEQUOIASVSAdaptation.sh "$workspaceDir/$folderName" $pathToResources
+
+#Zip validator
+ #move to bin path
+appassemblerPath=$(realpath $(find $workspaceDir/$folderName -type d -wholename */appassembler))
+cd $appassemblerPath
+
+ #Create bbr folder
+mkdir "bbr" || echo "File already exist, that won't affect next steps"
+cp $bbrPath bbr
+
+ #create documentation folder
+documentationPath=$(realpath $(find $workspaceDir/$folderName -type d -wholename "*/documentation"))
+cp -r $documentationPath  $appassemblerPath
+
+ #Zipping
+zip -r "validator-$_currDate.zip" bbr/ documentation/ repo/ bin/
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIASVSAdaptation.sh b/hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIASVSAdaptation.sh
new file mode 100755
index 0000000..4748e1e
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/assemble-scripts/SEQUOIASVSAdaptation.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+#Colors definitions for terminal
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+ORANGE='\033[0;33m'
+NC='\033[0m'
+
+USAGE_STRING="${RED}./sequoiaHack.sh <path_to_validator> [<path_to_resources>]${NC}"
+pathToValidator=""
+pathToResources=""
+
+
+# Check number & types of parameters
+if [ $# -gt 2 ] || [ $# -lt 1 ]; then
+  echo -e "${RED} Wrong number of parameters, expected 1 or 2${NC}"
+  echo -e $USAGE_STRING
+  exit 1
+fi;
+
+if [ ! -d $1 ]; then
+  echo -e "${RED} The provided path: $1 is not a valid directory${NC}"
+  echo -e $USAGE_STRING
+  exit 1
+else
+  pathToValidator=$1
+fi
+
+if [ $# -eq 2 ]; then
+    if [ ! -d $2 ]; then
+      echo -e "${RED} The provided path: $2 for resources is not a valid path${NC}"
+      echo -e $USAGE_STRING
+      exit 1
+    else
+      pathToResources=$2
+    fi;
+else
+  pathToResources='../src/main/resources/sequoia-db-hack'
+  if [ ! -d $pathToResources ]; then
+    echo -e "${RED} Could not find the resources automatically, please re-run the script and provide the path manually${NC}"
+    exit 1
+  fi;
+fi;
+
+
+# Start working (replacing)
+numberOfFiles=$(find $pathToResources -regex  '.*\(java\|xml\)$' -type f | wc -l)
+
+if [ "$numberOfFiles" -ne 7 ]; then
+  echo -e "${ORANGE}The number of found files is ${numberOfFiles}, expected 7! Probably something went wrong!${NC}"
+  echo -e "${ORANGE}Adaptation is not suspended${NC}"
+fi;
+
+# Creating missing directory
+utilFile=$(dirname $(find "$pathToValidator" -type f -name "XMLValidation.java" ))
+echo $utilFile
+cd "$utilFile"
+mkdir ../db
+
+# Replacing & Adding java files and Pom.xml
+for x in $(find $pathToResources  -regex  '.*\(java\|xml\)$' -type f); do
+  fileName=$(basename "$x")
+  fileToBeReplaced=$(find "$pathToValidator" -name "$fileName")
+  echo "file to be replaced: $fileToBeReplaced"
+  if [ -z "$fileToBeReplaced" ]; then
+    echo -e "${NC}Need to be created"
+    resourceDirName=$(dirname "$x")
+    resourceBaseName=$(basename "$resourceDirName")
+    outputDir=$(find "$pathToValidator" -type d -name "$resourceBaseName" | grep -v  ".*\/target.*")
+    echo "$outputDir"
+    cp "$x" "$outputDir"
+  else
+    echo -e "${NC}Need to be replaced"
+    targetDirName=$(dirname "$fileToBeReplaced")
+    cp "$x" "$targetDirName"
+  fi;
+
+done;
+
+# Package validator
+pathToValidatorJar=$(find $pathToValidator -type d -name "*-validator-jar" | grep -v ".*\/net\/.*")
+cd $pathToValidatorJar
+mvn clean package
+
+# Replacing XSD
+
+pathToXSD=$(find "$pathToValidator" -type d -name "xsd" | grep -e ".*\/target\/appassembler.*")
+echo "$pathToXSD"
+XSDDirname=$(dirname "$pathToXSD")
+echo "$XSDDirname"
+rm -r "$pathToXSD"
+cp -r "$pathToResources"/xsd "$XSDDirname"
+
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/GazelleValidatorCore.java b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/GazelleValidatorCore.java
index 7be9c5e..b061027 100644
--- a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/GazelleValidatorCore.java
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/GazelleValidatorCore.java
@@ -4,7 +4,7 @@ import java.io.ByteArrayOutputStream;
 
 import javax.xml.bind.JAXBException;
 
-import net.ihe.gazelle.db.utils.ConnectionUtil;
+import net.ihe.gazelle.db.ConnectionUtil;
 import net.ihe.gazelle.gen.common.CommonOperations;
 import net.ihe.gazelle.validation.DetailedResult;
 
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/MicroDocumentValidation.java b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/MicroDocumentValidation.java
index 7f1a96b..fb293ea 100644
--- a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/MicroDocumentValidation.java
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/assembler/ccda21/MicroDocumentValidation.java
@@ -1,10 +1,7 @@
 package net.ihe.gazelle.assembler.ccda21;
 
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.io.PrintStream;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -19,6 +16,7 @@ import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathExpression;
 import javax.xml.xpath.XPathFactory;
 
+import net.ihe.gazelle.cdaepsos3.cdaepsos3.CDAEPSOS3PackValidator;
 import net.ihe.gazelle.cda.cdabasic.CDABASICPackValidator;
 import net.ihe.gazelle.cda.cdadt.CDADTPackValidator;
 import net.ihe.gazelle.cda.cdanblock.CDANBLOCKPackValidator;
@@ -29,7 +27,6 @@ import net.ihe.gazelle.gen.common.CommonOperations;
 import net.ihe.gazelle.gen.common.ConstraintValidatorModule;
 import net.ihe.gazelle.gen.common.DatatypesNamespaceContext;
 import net.ihe.gazelle.gen.common.TemplateParser;
-import net.ihe.gazelle.utils.ConceptProviderSVSImpl;
 import net.ihe.gazelle.utils.ValueSetProviderClass;
 import net.ihe.gazelle.utils.XMLValidation;
 import net.ihe.gazelle.validation.DetailedResult;
@@ -48,15 +45,14 @@ import org.w3c.dom.Node;
 import org.xml.sax.InputSource;
 
 class MicroDocumentValidation {
-	
-	
+
+
 	static {
-		CommonOperations.setValueSetProvider(null);
-		CommonOperations.getValuesetChecker().setConceptProvider(new ConceptProviderSVSImpl());
+		CommonOperations.setValueSetProvider(new ValueSetProviderClass());
 	}
 
 	private MicroDocumentValidation(){}
-	
+
 	public static void validateWithBasicCDAValidator(String documentContent, List<ConstraintValidatorModule> listConstraintValidatorModule,
 			List<TemplateParser> listParser, DetailedResult res) throws FileNotFoundException{
 		net.ihe.gazelle.cda.POCDMT000040ClinicalDocument clin = null;
@@ -80,7 +76,7 @@ class MicroDocumentValidation {
 		}
 		updateValidationResult(documentContent, res, ln);
 	}
-	
+
 	public static void validateWithExtendedCDAValidator(String documentContent, List<ConstraintValidatorModule> listConstraintValidatorModule,
 			List<TemplateParser> listParser, DetailedResult res) throws FileNotFoundException{
 		net.ihe.gazelle.cda.POCDMT000040ClinicalDocument clin = null;
@@ -113,8 +109,8 @@ class MicroDocumentValidation {
 			res.setMDAValidation(new MDAValidation());
 		}
 		if (documentContent != null){
-		    Notification not = validateCDAIDs(documentContent);
-		    ln.add(not);
+			Notification not = validateCDAIDs(documentContent);
+			ln.add(not);
 		}
 		for (Notification notification : ln) {
 			res.getMDAValidation().getWarningOrErrorOrNote().add(notification);
@@ -137,7 +133,7 @@ class MicroDocumentValidation {
 				}
 			}
 		}
-		
+
 		if (vals != null){
 			for (int i = 0; i < vals.size(); i++) {
 				if (vals.get(i) instanceof NodeInfo) {
@@ -201,9 +197,10 @@ class MicroDocumentValidation {
 		ltp.add(new Ccda21Parser());
 
 		// --conditional validation
+		listConstraintValidatorModule.add(new CDAEPSOS3PackValidator());
 		MicroDocumentValidation.validateWithExtendedCDAValidator(documentContent, listConstraintValidatorModule, ltp, dr);
 
-		${validatorRootClass} clin = null;
+		net.ihe.gazelle.cda.POCDMT000040ClinicalDocument clin = null;
 		String fullDocumentContent = "";
 		try {
 			clin =  CDATemplateParser.load(new FileInputStream(documentPath));
@@ -212,13 +209,13 @@ class MicroDocumentValidation {
 			errorWhenExtracting(new ArrayList<Notification>());
 		}
         validateCDABasic(fullDocumentContent, dr, true);
-		
+
 		validateToSchema(dr, documentPath);
 		updateMDAValidation(dr);;
 		summarizeDetailedResult(dr);
 		return dr;
 	}
-	
+
 	private static void validateCDABasic(String fullDocumentContent, DetailedResult dr, boolean ignoreCDABasic) throws FileNotFoundException {
 	    if (!ignoreCDABasic){
 			List<ConstraintValidatorModule> listConstraintValidatorModule = new ArrayList<>();
@@ -232,7 +229,7 @@ class MicroDocumentValidation {
 
 	private static String flattenNullFlavor(String documentPath, DetailedResult res) throws FileNotFoundException{
 
-		net.ihe.gazelle.cda.POCDMT000040ClinicalDocument clin = null;
+        net.ihe.gazelle.cda.POCDMT000040ClinicalDocument clin = null;
 		List<Notification> ln = new ArrayList<Notification>();
 		String documentContent = null;
 		try {
@@ -241,7 +238,7 @@ class MicroDocumentValidation {
 			Node clinNode = clin.get_xmlNodePresentation();
 			NullFlavorChecker nullFlavorChecker = new NullFlavorChecker();
 			documentContent = nullFlavorChecker.flatten(clinNode, "/ClinicalDocument", ln);
-			net.ihe.gazelle.cda.POCDMT000040ClinicalDocument clinNullFlavorChecked = CDATemplateParser.loadBasic(new ByteArrayInputStream(NullFlavorChecker.nodeToString(clinNode).getBytes()));
+            net.ihe.gazelle.cda.POCDMT000040ClinicalDocument clinNullFlavorChecked = CDATemplateParser.loadBasic(new ByteArrayInputStream(NullFlavorChecker.nodeToString(clinNode).getBytes()));
 			if (clinNullFlavorChecked == null) throw new Exception();
 			else
 				documentContent = NullFlavorChecker.nodeToString(clinNode);
@@ -265,7 +262,7 @@ class MicroDocumentValidation {
 			}
 		}
 	}
-	
+
 	static void errorWhenExtracting(ValidatorException vexp, List<Notification> ln){
 		if (ln ==null) return;
 		if (vexp != null){
@@ -309,7 +306,7 @@ class MicroDocumentValidation {
 	}
 
 	private static void validateToSchema(DetailedResult res, String documentPath){
-		DocumentWellFormed dd = new DocumentWellFormed(); 
+		DocumentWellFormed dd = new DocumentWellFormed();
 		dd = XMLValidation.isXMLWellFormed(documentPath);
 		res.setDocumentWellFormed(dd);
 		if (res.getDocumentWellFormed().getResult().equals("PASSED")){
@@ -332,17 +329,17 @@ class MicroDocumentValidation {
 	}
 
 	protected static boolean handleEvent(ValidationEvent event, ValidatorException vexp) {
-		 if (event.getSeverity() != ValidationEvent.WARNING) {  
+		 if (event.getSeverity() != ValidationEvent.WARNING) {
              ValidationEventLocator vel = event.getLocator();
              Notification not = new Error();
-             not.setDescription("Line:Col[" + vel.getLineNumber() +  
-                     ":" + vel.getColumnNumber() +  
+             not.setDescription("Line:Col[" + vel.getLineNumber() +
+                     ":" + vel.getColumnNumber() +
                      "]:" +event.getMessage());
              not.setTest("message_parsing");
              not.setLocation("All the document");
              vexp.getDiagnostic().add(not);
-         }  
-         return true; 
+         }
+         return true;
 	}
 
 }
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/utils/ConceptProviderDBImpl.java b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/ConceptProviderDBImpl.java
similarity index 89%
rename from hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/utils/ConceptProviderDBImpl.java
rename to hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/ConceptProviderDBImpl.java
index 0edb23a..ef54abd 100644
--- a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/utils/ConceptProviderDBImpl.java
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/ConceptProviderDBImpl.java
@@ -1,4 +1,4 @@
-package net.ihe.gazelle.db.utils;
+package net.ihe.gazelle.db;
 
 import net.ihe.gazelle.gen.common.ConceptProviderImpl;
 
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/utils/ConnectionUtil.java b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/ConnectionUtil.java
similarity index 99%
rename from hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/utils/ConnectionUtil.java
rename to hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/ConnectionUtil.java
index ee50c34..63ad7be 100644
--- a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/utils/ConnectionUtil.java
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/main/java/net/ihe/gazelle/db/ConnectionUtil.java
@@ -1,4 +1,4 @@
-package net.ihe.gazelle.db.utils;
+package net.ihe.gazelle.db;
 
 import net.ihe.gazelle.gen.common.ConceptProvider;
 import net.ihe.gazelle.gen.common.ValueSetProvider;
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/test/java/net/ihe/gazelle/db/test/ConnectionUtilTest.java b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/test/java/net/ihe/gazelle/db/test/ConnectionUtilTest.java
index ed1f95a..7afe49c 100644
--- a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/test/java/net/ihe/gazelle/db/test/ConnectionUtilTest.java
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/src/test/java/net/ihe/gazelle/db/test/ConnectionUtilTest.java
@@ -6,7 +6,7 @@ import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import net.ihe.gazelle.db.utils.ConnectionUtil;
+import net.ihe.gazelle.db.ConnectionUtil;
 
 public class ConnectionUtilTest {
 	
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/CDA.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/CDA.xsd
new file mode 100644
index 0000000..5406f27
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/CDA.xsd
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Bob Dolin (HL7 CDA TC) -->
+<xs:schema targetNamespace="urn:hl7-org:v3" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sdtc="urn:hl7-org:sdtc" xmlns="urn:hl7-org:v3" xmlns:mif="urn:hl7-org:v3/mif"
+  elementFormDefault="qualified">
+  <xs:annotation>
+    <xs:documentation>Manually edited to add SDTC Schema Extension (authenticator/signatureText, legalAuthenticator/signatureText), 14 July 2013</xs:documentation>
+    <xs:documentation>Manually edited to add SDTC Schema Extensions, July 2012</xs:documentation>
+  </xs:annotation>
+  <xs:include schemaLocation="POCD_MT000040_SDTC.xsd"/>
+  <xs:element name="ClinicalDocument" type="POCD_MT000040.ClinicalDocument"/>
+</xs:schema>
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040.xsd
new file mode 100644
index 0000000..fab3163
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040.xsd
@@ -0,0 +1,1351 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema targetNamespace="urn:hl7-org:v3" xmlns:mif="urn:hl7-org:v3/mif" xmlns="urn:hl7-org:v3" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+	<!--
+*****************************************************************************************************************
+* XML schema for message type POCD_MT000040.
+* Generated by XMLITS version 2.0
+*
+* Copyright (c) 2002, 2003, 2004, 2005 Health Level Seven. All rights reserved.
+*  Redistribution and use in source and binary forms, with or without
+*  modification, are permitted provided that the following conditions
+*  are met:
+*  1. Redistributions of source code must retain the above copyright
+*     notice, this list of conditions and the following disclaimer.
+*  2. Redistributions in binary form must reproduce the above copyright
+*     notice, this list of conditions and the following disclaimer in the
+*     documentation and/or other materials provided with the distribution.
+*  3. All advertising materials mentioning features or use of this software
+*     must display the following acknowledgement:
+*       This product includes software developed by Health Level Seven.
+*  THIS SOFTWARE IS PROVIDED BY HEALTH LEVEL SEVEN, INC. AND CONTRIBUTORS "AS IS" AND
+*  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+*  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+*  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+*  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+*  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+*  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+*  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+*  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+*  SUCH DAMAGE.
+*
+********************************************************************************************************************
+	  -->
+	<xs:annotation>
+		<xs:documentation>Generated using schema builder version 2.0. Stylesheets:
+RoseTreeToMIFStaticModel.xsl version: 1.1
+StaticMifToXsd.xsl version 2.0</xs:documentation>
+	</xs:annotation>
+	<xs:include schemaLocation="coreschemas/datatypes.xsd"/>
+	<xs:include schemaLocation="coreschemas/voc.xsd"/>
+	<xs:include schemaLocation="coreschemas/NarrativeBlock.xsd"/>
+	<xs:complexType name="POCD_MT000040.InfrastructureRoot.typeId">
+		<xs:complexContent>
+			<xs:restriction base="II">
+				<xs:attribute name="root" type="uid" use="required" fixed="2.16.840.1.113883.1.3"/>
+				<xs:attribute name="extension" type="st" use="required"/>
+			</xs:restriction>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Act">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_ActClassDocumentEntryAct" use="required"/>
+		<xs:attribute name="moodCode" type="x_DocumentActMood" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssignedAuthor">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="assignedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+				<xs:element name="assignedAuthoringDevice" type="POCD_MT000040.AuthoringDevice" minOccurs="0"/>
+			</xs:choice>
+			<xs:element name="representedOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssignedEntity" use="optional" fixed="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssignedCustodian">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="representedCustodianOrganization" type="POCD_MT000040.CustodianOrganization"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssignedEntity" use="optional" fixed="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssignedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="assignedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+			<xs:element name="representedOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssignedEntity" use="optional" fixed="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssociatedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="associatedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+			<xs:element name="scopingOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssociative" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Authenticator">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="TS"/>
+			<xs:element name="signatureCode" type="CS"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="AUTHEN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Author">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="functionCode" type="CE" minOccurs="0"/>
+			<xs:element name="time" type="TS"/>
+			<xs:element name="assignedAuthor" type="POCD_MT000040.AssignedAuthor"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="AUT"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AuthoringDevice">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="manufacturerModelName" type="SC" minOccurs="0"/>
+			<xs:element name="softwareName" type="SC" minOccurs="0"/>
+			<xs:element name="asMaintainedEntity" type="POCD_MT000040.MaintainedEntity" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassDevice" use="optional" fixed="DEV"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Authorization">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="consent" type="POCD_MT000040.Consent"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="AUTH"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Birthplace">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="place" type="POCD_MT000040.Place"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="BIRTHPL"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ClinicalDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II"/>
+			<xs:element name="code" type="CE"/>
+			<xs:element name="title" type="ST" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="TS"/>
+			<xs:element name="confidentialityCode" type="CE"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="setId" type="II" minOccurs="0"/>
+			<xs:element name="versionNumber" type="INT" minOccurs="0"/>
+			<xs:element name="copyTime" type="TS" minOccurs="0"/>
+			<xs:element name="recordTarget" type="POCD_MT000040.RecordTarget" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" maxOccurs="unbounded"/>
+			<xs:element name="dataEnterer" type="POCD_MT000040.DataEnterer" minOccurs="0"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="custodian" type="POCD_MT000040.Custodian"/>
+			<xs:element name="informationRecipient" type="POCD_MT000040.InformationRecipient" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="legalAuthenticator" type="POCD_MT000040.LegalAuthenticator" minOccurs="0"/>
+			<xs:element name="authenticator" type="POCD_MT000040.Authenticator" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant1" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="inFulfillmentOf" type="POCD_MT000040.InFulfillmentOf" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="documentationOf" type="POCD_MT000040.DocumentationOf" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="relatedDocument" type="POCD_MT000040.RelatedDocument" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="authorization" type="POCD_MT000040.Authorization" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="componentOf" type="POCD_MT000040.Component1" minOccurs="0"/>
+			<xs:element name="component" type="POCD_MT000040.Component2"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClinicalDocument" use="optional" fixed="DOCCLIN"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component1">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="encompassingEncounter" type="POCD_MT000040.EncompassingEncounter"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component2">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="nonXMLBody" type="POCD_MT000040.NonXMLBody"/>
+				<xs:element name="structuredBody" type="POCD_MT000040.StructuredBody"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component3">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="section" type="POCD_MT000040.Section"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component4">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="sequenceNumber" type="INT" minOccurs="0"/>
+			<xs:element name="seperatableInd" type="BL" minOccurs="0"/>
+			<xs:choice>
+				<xs:element name="act" type="POCD_MT000040.Act"/>
+				<xs:element name="encounter" type="POCD_MT000040.Encounter"/>
+				<xs:element name="observation" type="POCD_MT000040.Observation"/>
+				<xs:element name="observationMedia" type="POCD_MT000040.ObservationMedia"/>
+				<xs:element name="organizer" type="POCD_MT000040.Organizer"/>
+				<xs:element name="procedure" type="POCD_MT000040.Procedure"/>
+				<xs:element name="regionOfInterest" type="POCD_MT000040.RegionOfInterest"/>
+				<xs:element name="substanceAdministration" type="POCD_MT000040.SubstanceAdministration"/>
+				<xs:element name="supply" type="POCD_MT000040.Supply"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component5">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="section" type="POCD_MT000040.Section"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Consent">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="CONS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Consumable">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="manufacturedProduct" type="POCD_MT000040.ManufacturedProduct"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="CSM"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Criterion">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="value" type="ANY" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="optional" default="OBS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN.CRT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Custodian">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="assignedCustodian" type="POCD_MT000040.AssignedCustodian"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="CST"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.CustodianOrganization">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="name" type="ON" minOccurs="0"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassOrganization" use="optional" fixed="ORG"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.DataEnterer">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="TS" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="ENT"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Device">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="manufacturerModelName" type="SC" minOccurs="0"/>
+			<xs:element name="softwareName" type="SC" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassDevice" use="optional" default="DEV"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.DocumentationOf">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="serviceEvent" type="POCD_MT000040.ServiceEvent"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="DOC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.EncompassingEncounter">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS"/>
+			<xs:element name="dischargeDispositionCode" type="CE" minOccurs="0"/>
+			<xs:element name="responsibleParty" type="POCD_MT000040.ResponsibleParty" minOccurs="0"/>
+			<xs:element name="encounterParticipant" type="POCD_MT000040.EncounterParticipant" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="location" type="POCD_MT000040.Location" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="ENC"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Encounter">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required"/>
+		<xs:attribute name="moodCode" type="x_DocumentEncounterMood" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.EncounterParticipant">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_EncounterParticipant" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Entity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="desc" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassRoot" use="optional" default="ENT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Entry">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="act" type="POCD_MT000040.Act"/>
+				<xs:element name="encounter" type="POCD_MT000040.Encounter"/>
+				<xs:element name="observation" type="POCD_MT000040.Observation"/>
+				<xs:element name="observationMedia" type="POCD_MT000040.ObservationMedia"/>
+				<xs:element name="organizer" type="POCD_MT000040.Organizer"/>
+				<xs:element name="procedure" type="POCD_MT000040.Procedure"/>
+				<xs:element name="regionOfInterest" type="POCD_MT000040.RegionOfInterest"/>
+				<xs:element name="substanceAdministration" type="POCD_MT000040.SubstanceAdministration"/>
+				<xs:element name="supply" type="POCD_MT000040.Supply"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipEntry" use="optional" default="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.EntryRelationship">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="sequenceNumber" type="INT" minOccurs="0"/>
+			<xs:element name="seperatableInd" type="BL" minOccurs="0"/>
+			<xs:choice>
+				<xs:element name="act" type="POCD_MT000040.Act"/>
+				<xs:element name="encounter" type="POCD_MT000040.Encounter"/>
+				<xs:element name="observation" type="POCD_MT000040.Observation"/>
+				<xs:element name="observationMedia" type="POCD_MT000040.ObservationMedia"/>
+				<xs:element name="organizer" type="POCD_MT000040.Organizer"/>
+				<xs:element name="procedure" type="POCD_MT000040.Procedure"/>
+				<xs:element name="regionOfInterest" type="POCD_MT000040.RegionOfInterest"/>
+				<xs:element name="substanceAdministration" type="POCD_MT000040.SubstanceAdministration"/>
+				<xs:element name="supply" type="POCD_MT000040.Supply"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipEntryRelationship" use="required"/>
+		<xs:attribute name="inversionInd" type="bl" use="optional"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" default="true"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalAct">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassRoot" use="optional" default="ACT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="setId" type="II" minOccurs="0"/>
+			<xs:element name="versionNumber" type="INT" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassDocument" use="optional" default="DOC"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalObservation">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="optional" default="OBS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalProcedure">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="PROC"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Guardian">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="guardianPerson" type="POCD_MT000040.Person"/>
+				<xs:element name="guardianOrganization" type="POCD_MT000040.Organization"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="GUARD"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.HealthCareFacility">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="location" type="POCD_MT000040.Place" minOccurs="0"/>
+			<xs:element name="serviceProviderOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassServiceDeliveryLocation" use="optional" default="SDLOC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Informant12">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+				<xs:element name="relatedEntity" type="POCD_MT000040.RelatedEntity"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="INF"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.InformationRecipient">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="intendedRecipient" type="POCD_MT000040.IntendedRecipient"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_InformationRecipient" use="optional" default="PRCP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.InFulfillmentOf">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="order" type="POCD_MT000040.Order"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipFulfills" use="optional" fixed="FLFS"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.IntendedRecipient">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informationRecipient" type="POCD_MT000040.Person" minOccurs="0"/>
+			<xs:element name="receivedOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_InformationRecipientRole" use="optional" default="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.LabeledDrug">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="name" type="EN" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassManufacturedMaterial" use="optional" fixed="MMAT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminerDetermined" use="optional" fixed="KIND"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.LanguageCommunication">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="modeCode" type="CE" minOccurs="0"/>
+			<xs:element name="proficiencyLevelCode" type="CE" minOccurs="0"/>
+			<xs:element name="preferenceInd" type="BL" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.LegalAuthenticator">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="TS"/>
+			<xs:element name="signatureCode" type="CS"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="LA"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Location">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="healthCareFacility" type="POCD_MT000040.HealthCareFacility"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationTargetLocation" use="optional" fixed="LOC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.MaintainedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="maintainingPerson" type="POCD_MT000040.Person"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="MNT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ManufacturedProduct">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="manufacturedLabeledDrug" type="POCD_MT000040.LabeledDrug"/>
+				<xs:element name="manufacturedMaterial" type="POCD_MT000040.Material"/>
+			</xs:choice>
+			<xs:element name="manufacturerOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassManufacturedProduct" use="optional" fixed="MANU"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Material">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="name" type="EN" minOccurs="0"/>
+			<xs:element name="lotNumberText" type="ST" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassManufacturedMaterial" use="optional" fixed="MMAT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminerDetermined" use="optional" fixed="KIND"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.NonXMLBody">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="text" type="ED"/>
+			<xs:element name="confidentialityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="DOCBODY"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Observation">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD"/>
+			<xs:element name="derivationExpr" type="ST" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="repeatNumber" type="IVL_INT" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="value" type="ANY" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="interpretationCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="methodCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="targetSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="referenceRange" type="POCD_MT000040.ReferenceRange" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="required"/>
+		<xs:attribute name="moodCode" type="x_ActMoodDocumentObservation" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ObservationMedia">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="value" type="ED"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="ID" type="xs:ID"/>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="required"/>
+		<xs:attribute name="moodCode" type="ActMood" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ObservationRange">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="value" type="ANY" minOccurs="0"/>
+			<xs:element name="interpretationCode" type="CE" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="optional" default="OBS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN.CRT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Order">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassRoot" use="optional" default="ACT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="RQO"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Organization">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="ON" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="standardIndustryClassCode" type="CE" minOccurs="0"/>
+			<xs:element name="asOrganizationPartOf" type="POCD_MT000040.OrganizationPartOf" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassOrganization" use="optional" fixed="ORG"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.OrganizationPartOf">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="wholeOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="PART"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Organizer">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="component" type="POCD_MT000040.Component4" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_ActClassDocumentEntryOrganizer" use="required"/>
+		<xs:attribute name="moodCode" type="ActMood" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ParentDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="setId" type="II" minOccurs="0"/>
+			<xs:element name="versionNumber" type="INT" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClinicalDocument" use="optional" fixed="DOCCLIN"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Participant1">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="functionCode" type="CE" minOccurs="0"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="associatedEntity" type="POCD_MT000040.AssociatedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="required"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Participant2">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="awarenessCode" type="CE" minOccurs="0"/>
+			<xs:element name="participantRole" type="POCD_MT000040.ParticipantRole"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="required"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ParticipantRole">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="playingDevice" type="POCD_MT000040.Device" minOccurs="0"/>
+				<xs:element name="playingEntity" type="POCD_MT000040.PlayingEntity" minOccurs="0"/>
+			</xs:choice>
+			<xs:element name="scopingEntity" type="POCD_MT000040.Entity" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassRoot" use="optional" default="ROL"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Patient">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0"/>
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="administrativeGenderCode" type="CE" minOccurs="0"/>
+			<xs:element name="birthTime" type="TS" minOccurs="0"/>
+			<xs:element ref="sdtc:deceasedInd" minOccurs="0" maxOccurs="1"/>
+			<xs:element name="maritalStatusCode" type="CE" minOccurs="0"/>
+			<xs:element name="religiousAffiliationCode" type="CE" minOccurs="0"/>
+			<xs:element name="raceCode" type="CE" minOccurs="0"/>
+			<xs:element name="ethnicGroupCode" type="CE" minOccurs="0"/>
+			<xs:element name="guardian" type="POCD_MT000040.Guardian" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="birthplace" type="POCD_MT000040.Birthplace" minOccurs="0"/>
+			<xs:element name="languageCommunication" type="POCD_MT000040.LanguageCommunication" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClass" use="optional" fixed="PSN"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.PatientRole">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="patient" type="POCD_MT000040.Patient" minOccurs="0"/>
+			<xs:element name="providerOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="PAT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Performer1">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="functionCode" type="CE" minOccurs="0"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ServiceEventPerformer" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Performer2">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="modeCode" type="CE" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationPhysicalPerformer" use="optional" fixed="PRF"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Person">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClass" use="optional" fixed="PSN"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Place">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="EN" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassPlace" use="optional" fixed="PLC"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.PlayingEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="quantity" type="PQ" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="desc" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassRoot" use="optional" default="ENT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Precondition">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="criterion" type="POCD_MT000040.Criterion"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="PRCN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Procedure">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="methodCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="approachSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="targetSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required"/>
+		<xs:attribute name="moodCode" type="x_DocumentProcedureMood" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Product">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="manufacturedProduct" type="POCD_MT000040.ManufacturedProduct"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="PRD"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RecordTarget">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="patientRole" type="POCD_MT000040.PatientRole"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="RCT"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Reference">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="seperatableInd" type="BL" minOccurs="0"/>
+			<xs:choice>
+				<xs:element name="externalAct" type="POCD_MT000040.ExternalAct"/>
+				<xs:element name="externalObservation" type="POCD_MT000040.ExternalObservation"/>
+				<xs:element name="externalProcedure" type="POCD_MT000040.ExternalProcedure"/>
+				<xs:element name="externalDocument" type="POCD_MT000040.ExternalDocument"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipExternalReference" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ReferenceRange">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="observationRange" type="POCD_MT000040.ObservationRange"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="REFV"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RegionOfInterest.value">
+		<xs:complexContent>
+			<xs:extension base="INT">
+				<xs:attribute name="unsorted" type="xs:boolean" default="false"/>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RegionOfInterest">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CS"/>
+			<xs:element name="value" type="POCD_MT000040.RegionOfInterest.value" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="ID" type="xs:ID"/>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required" fixed="ROIOVL"/>
+		<xs:attribute name="moodCode" type="ActMood" use="required" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RelatedDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="parentDocument" type="POCD_MT000040.ParentDocument"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipDocument" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RelatedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="relatedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassMutualRelationship" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RelatedSubject">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.SubjectPerson" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_DocumentSubject" use="optional" default="PRS"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ResponsibleParty">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="RESP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Section">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="title" type="ST" minOccurs="0"/>
+			<xs:element name="text" type="StrucDoc.Text" minOccurs="0"/>
+			<xs:element name="confidentialityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entry" type="POCD_MT000040.Entry" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="component" type="POCD_MT000040.Component5" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="ID" type="xs:ID"/>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="DOCSECT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ServiceEvent">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer1" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassRoot" use="optional" default="ACT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Specimen">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="specimenRole" type="POCD_MT000040.SpecimenRole"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="SPC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.SpecimenRole">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="specimenPlayingEntity" type="POCD_MT000040.PlayingEntity" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassSpecimen" use="optional" fixed="SPEC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.StructuredBody">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="confidentialityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="component" type="POCD_MT000040.Component3" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="DOCBODY"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Subject">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="awarenessCode" type="CE" minOccurs="0"/>
+			<xs:element name="relatedSubject" type="POCD_MT000040.RelatedSubject"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationTargetSubject" use="optional" fixed="SBJ"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.SubjectPerson">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="administrativeGenderCode" type="CE" minOccurs="0"/>
+			<xs:element name="birthTime" type="TS" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClass" use="optional" fixed="PSN"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.SubstanceAdministration">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="SXCM_TS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="repeatNumber" type="IVL_INT" minOccurs="0"/>
+			<xs:element name="routeCode" type="CE" minOccurs="0"/>
+			<xs:element name="approachSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="doseQuantity" type="IVL_PQ" minOccurs="0"/>
+			<xs:element name="rateQuantity" type="IVL_PQ" minOccurs="0"/>
+			<xs:element name="maxDoseQuantity" type="RTO_PQ_PQ" minOccurs="0"/>
+			<xs:element name="administrationUnitCode" type="CE" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="consumable" type="POCD_MT000040.Consumable"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required" fixed="SBADM"/>
+		<xs:attribute name="moodCode" type="x_DocumentSubstanceMood" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Supply">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="SXCM_TS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="repeatNumber" type="IVL_INT" minOccurs="0"/>
+			<xs:element name="independentInd" type="BL" minOccurs="0"/>
+			<xs:element name="quantity" type="PQ" minOccurs="0"/>
+			<xs:element name="expectedUseTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="product" type="POCD_MT000040.Product" minOccurs="0"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassSupply" use="required" fixed="SPLY"/>
+		<xs:attribute name="moodCode" type="x_DocumentSubstanceMood" use="required"/>
+	</xs:complexType>
+</xs:schema>
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040_SDTC.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040_SDTC.xsd
new file mode 100644
index 0000000..14d11c8
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/POCD_MT000040_SDTC.xsd
@@ -0,0 +1,1379 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema targetNamespace="urn:hl7-org:v3" xmlns:mif="urn:hl7-org:v3/mif" xmlns="urn:hl7-org:v3"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+	xmlns:sdtc="urn:hl7-org:sdtc">
+	<!--
+*****************************************************************************************************************
+* XML schema for message type POCD_MT000040.
+* Generated by XMLITS version 2.0
+*
+* Copyright (c) 2002, 2003, 2004, 2005 Health Level Seven. All rights reserved.
+*  Redistribution and use in source and binary forms, with or without
+*  modification, are permitted provided that the following conditions
+*  are met:
+*  1. Redistributions of source code must retain the above copyright
+*     notice, this list of conditions and the following disclaimer.
+*  2. Redistributions in binary form must reproduce the above copyright
+*     notice, this list of conditions and the following disclaimer in the
+*     documentation and/or other materials provided with the distribution.
+*  3. All advertising materials mentioning features or use of this software
+*     must display the following acknowledgement:
+*       This product includes software developed by Health Level Seven.
+*  THIS SOFTWARE IS PROVIDED BY HEALTH LEVEL SEVEN, INC. AND CONTRIBUTORS "AS IS" AND
+*  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+*  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+*  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+*  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+*  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+*  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+*  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+*  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+*  SUCH DAMAGE.
+*
+********************************************************************************************************************
+	  -->
+	<xs:annotation>
+		<xs:documentation>Manually edited to add SDTC Schema Extension (authenticator/signatureText, legalAuthenticator/signatureText), 14 July 2013</xs:documentation>
+	  <xs:documentation>Manually edited to add SDTC Schema Extensions, July 2012</xs:documentation>
+		<xs:documentation>Generated using schema builder version 2.0. Stylesheets:
+RoseTreeToMIFStaticModel.xsl version: 1.1
+StaticMifToXsd.xsl version 2.0</xs:documentation>
+	</xs:annotation>
+	<xs:include schemaLocation="processable/coreschemas/datatypes.xsd"/>
+	<xs:include schemaLocation="processable/coreschemas/voc.xsd"/>
+	<xs:include schemaLocation="processable/coreschemas/NarrativeBlock.xsd"/>
+  <xs:import namespace="urn:hl7-org:sdtc" schemaLocation="SDTC.xsd" />
+<xs:complexType name="POCD_MT000040.InfrastructureRoot.typeId">
+		<xs:complexContent>
+			<xs:restriction base="II">
+				<xs:attribute name="root" type="uid" use="required" fixed="2.16.840.1.113883.1.3"/>
+				<xs:attribute name="extension" type="st" use="required"/>
+			</xs:restriction>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Act">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_ActClassDocumentEntryAct" use="required"/>
+		<xs:attribute name="moodCode" type="x_DocumentActMood" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssignedAuthor">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="assignedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+				<xs:element name="assignedAuthoringDevice" type="POCD_MT000040.AuthoringDevice" minOccurs="0"/>
+			</xs:choice>
+			<xs:element name="representedOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssignedEntity" use="optional" fixed="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssignedCustodian">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="representedCustodianOrganization" type="POCD_MT000040.CustodianOrganization"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssignedEntity" use="optional" fixed="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssignedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="assignedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+			<xs:element name="representedOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssignedEntity" use="optional" fixed="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AssociatedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="associatedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+			<xs:element name="scopingOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassAssociative" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Authenticator">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="TS"/>
+			<xs:element name="signatureCode" type="CS"/>
+			<!-- Begin Extension: (SDTC) -->
+			<xs:element ref="sdtc:signatureText" minOccurs="0" maxOccurs="1"/>
+			<!-- End Extension: (SDTC) -->
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="AUTHEN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Author">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="functionCode" type="CE" minOccurs="0"/>
+			<xs:element name="time" type="TS"/>
+			<xs:element name="assignedAuthor" type="POCD_MT000040.AssignedAuthor"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="AUT"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.AuthoringDevice">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="manufacturerModelName" type="SC" minOccurs="0"/>
+			<xs:element name="softwareName" type="SC" minOccurs="0"/>
+			<xs:element name="asMaintainedEntity" type="POCD_MT000040.MaintainedEntity" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassDevice" use="optional" fixed="DEV"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Authorization">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="consent" type="POCD_MT000040.Consent"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="AUTH"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Birthplace">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="place" type="POCD_MT000040.Place"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="BIRTHPL"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ClinicalDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II"/>
+			<xs:element name="code" type="CE"/>
+			<xs:element name="title" type="ST" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="TS"/>
+			<xs:element name="confidentialityCode" type="CE"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="setId" type="II" minOccurs="0"/>
+			<xs:element name="versionNumber" type="INT" minOccurs="0"/>
+			<xs:element name="copyTime" type="TS" minOccurs="0"/>
+			<xs:element name="recordTarget" type="POCD_MT000040.RecordTarget" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" maxOccurs="unbounded"/>
+			<xs:element name="dataEnterer" type="POCD_MT000040.DataEnterer" minOccurs="0"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="custodian" type="POCD_MT000040.Custodian"/>
+			<xs:element name="informationRecipient" type="POCD_MT000040.InformationRecipient" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="legalAuthenticator" type="POCD_MT000040.LegalAuthenticator" minOccurs="0"/>
+			<xs:element name="authenticator" type="POCD_MT000040.Authenticator" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant1" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="inFulfillmentOf" type="POCD_MT000040.InFulfillmentOf" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="documentationOf" type="POCD_MT000040.DocumentationOf" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="relatedDocument" type="POCD_MT000040.RelatedDocument" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="authorization" type="POCD_MT000040.Authorization" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="componentOf" type="POCD_MT000040.Component1" minOccurs="0"/>
+			<xs:element name="component" type="POCD_MT000040.Component2"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClinicalDocument" use="optional" fixed="DOCCLIN"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component1">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="encompassingEncounter" type="POCD_MT000040.EncompassingEncounter"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component2">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="nonXMLBody" type="POCD_MT000040.NonXMLBody"/>
+				<xs:element name="structuredBody" type="POCD_MT000040.StructuredBody"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component3">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="section" type="POCD_MT000040.Section"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component4">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="sequenceNumber" type="INT" minOccurs="0"/>
+			<xs:element name="seperatableInd" type="BL" minOccurs="0"/>
+			<xs:choice>
+				<xs:element name="act" type="POCD_MT000040.Act"/>
+				<xs:element name="encounter" type="POCD_MT000040.Encounter"/>
+				<xs:element name="observation" type="POCD_MT000040.Observation"/>
+				<xs:element name="observationMedia" type="POCD_MT000040.ObservationMedia"/>
+				<xs:element name="organizer" type="POCD_MT000040.Organizer"/>
+				<xs:element name="procedure" type="POCD_MT000040.Procedure"/>
+				<xs:element name="regionOfInterest" type="POCD_MT000040.RegionOfInterest"/>
+				<xs:element name="substanceAdministration" type="POCD_MT000040.SubstanceAdministration"/>
+				<xs:element name="supply" type="POCD_MT000040.Supply"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Component5">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="section" type="POCD_MT000040.Section"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipHasComponent" use="optional" fixed="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Consent">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="CONS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Consumable">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="manufacturedProduct" type="POCD_MT000040.ManufacturedProduct"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="CSM"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Criterion">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="value" type="ANY" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="optional" default="OBS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN.CRT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Custodian">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="assignedCustodian" type="POCD_MT000040.AssignedCustodian"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="CST"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.CustodianOrganization">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="name" type="ON" minOccurs="0"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassOrganization" use="optional" fixed="ORG"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.DataEnterer">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="TS" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="ENT"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Device">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="manufacturerModelName" type="SC" minOccurs="0"/>
+			<xs:element name="softwareName" type="SC" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassDevice" use="optional" default="DEV"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.DocumentationOf">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="serviceEvent" type="POCD_MT000040.ServiceEvent"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="DOC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.EncompassingEncounter">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS"/>
+			<xs:element name="dischargeDispositionCode" type="CE" minOccurs="0"/>
+			<xs:element name="responsibleParty" type="POCD_MT000040.ResponsibleParty" minOccurs="0"/>
+			<xs:element name="encounterParticipant" type="POCD_MT000040.EncounterParticipant" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="location" type="POCD_MT000040.Location" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="ENC"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Encounter">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+		  <!-- Begin Extension: (SDTC) -->
+		  <xs:element ref="sdtc:dischargeDispositionCode" minOccurs="0" maxOccurs="1"/>
+		  <!-- End Extension: (SDTC) -->
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required"/>
+		<xs:attribute name="moodCode" type="x_DocumentEncounterMood" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.EncounterParticipant">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_EncounterParticipant" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Entity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="desc" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassRoot" use="optional" default="ENT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Entry">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="act" type="POCD_MT000040.Act"/>
+				<xs:element name="encounter" type="POCD_MT000040.Encounter"/>
+				<xs:element name="observation" type="POCD_MT000040.Observation"/>
+				<xs:element name="observationMedia" type="POCD_MT000040.ObservationMedia"/>
+				<xs:element name="organizer" type="POCD_MT000040.Organizer"/>
+				<xs:element name="procedure" type="POCD_MT000040.Procedure"/>
+				<xs:element name="regionOfInterest" type="POCD_MT000040.RegionOfInterest"/>
+				<xs:element name="substanceAdministration" type="POCD_MT000040.SubstanceAdministration"/>
+				<xs:element name="supply" type="POCD_MT000040.Supply"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipEntry" use="optional" default="COMP"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" fixed="true"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.EntryRelationship">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="sequenceNumber" type="INT" minOccurs="0"/>
+			<xs:element name="seperatableInd" type="BL" minOccurs="0"/>
+			<xs:choice>
+				<xs:element name="act" type="POCD_MT000040.Act"/>
+				<xs:element name="encounter" type="POCD_MT000040.Encounter"/>
+				<xs:element name="observation" type="POCD_MT000040.Observation"/>
+				<xs:element name="observationMedia" type="POCD_MT000040.ObservationMedia"/>
+				<xs:element name="organizer" type="POCD_MT000040.Organizer"/>
+				<xs:element name="procedure" type="POCD_MT000040.Procedure"/>
+				<xs:element name="regionOfInterest" type="POCD_MT000040.RegionOfInterest"/>
+				<xs:element name="substanceAdministration" type="POCD_MT000040.SubstanceAdministration"/>
+				<xs:element name="supply" type="POCD_MT000040.Supply"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipEntryRelationship" use="required"/>
+		<xs:attribute name="inversionInd" type="bl" use="optional"/>
+		<xs:attribute name="contextConductionInd" type="bl" use="optional" default="true"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalAct">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassRoot" use="optional" default="ACT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="setId" type="II" minOccurs="0"/>
+			<xs:element name="versionNumber" type="INT" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassDocument" use="optional" default="DOC"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalObservation">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="optional" default="OBS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ExternalProcedure">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="PROC"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Guardian">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="guardianPerson" type="POCD_MT000040.Person"/>
+				<xs:element name="guardianOrganization" type="POCD_MT000040.Organization"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="GUARD"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.HealthCareFacility">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="location" type="POCD_MT000040.Place" minOccurs="0"/>
+			<xs:element name="serviceProviderOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassServiceDeliveryLocation" use="optional" default="SDLOC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Informant12">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+				<xs:element name="relatedEntity" type="POCD_MT000040.RelatedEntity"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="INF"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.InformationRecipient">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="intendedRecipient" type="POCD_MT000040.IntendedRecipient"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_InformationRecipient" use="optional" default="PRCP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.InFulfillmentOf">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="order" type="POCD_MT000040.Order"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipFulfills" use="optional" fixed="FLFS"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.IntendedRecipient">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informationRecipient" type="POCD_MT000040.Person" minOccurs="0"/>
+			<xs:element name="receivedOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_InformationRecipientRole" use="optional" default="ASSIGNED"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.LabeledDrug">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="name" type="EN" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassManufacturedMaterial" use="optional" fixed="MMAT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminerDetermined" use="optional" fixed="KIND"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.LanguageCommunication">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="modeCode" type="CE" minOccurs="0"/>
+			<xs:element name="proficiencyLevelCode" type="CE" minOccurs="0"/>
+			<xs:element name="preferenceInd" type="BL" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.LegalAuthenticator">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="TS"/>
+			<xs:element name="signatureCode" type="CS"/>
+			<!-- Begin Extension: (SDTC) -->
+			<xs:element ref="sdtc:signatureText" minOccurs="0" maxOccurs="1"/>
+			<!-- End Extension: (SDTC) -->
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="LA"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Location">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="healthCareFacility" type="POCD_MT000040.HealthCareFacility"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationTargetLocation" use="optional" fixed="LOC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.MaintainedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="maintainingPerson" type="POCD_MT000040.Person"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="MNT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ManufacturedProduct">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="manufacturedLabeledDrug" type="POCD_MT000040.LabeledDrug"/>
+				<xs:element name="manufacturedMaterial" type="POCD_MT000040.Material"/>
+			</xs:choice>
+			<xs:element name="manufacturerOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassManufacturedProduct" use="optional" fixed="MANU"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Material">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="name" type="EN" minOccurs="0"/>
+			<xs:element name="lotNumberText" type="ST" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassManufacturedMaterial" use="optional" fixed="MMAT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminerDetermined" use="optional" fixed="KIND"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.NonXMLBody">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="text" type="ED"/>
+			<xs:element name="confidentialityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="DOCBODY"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Observation">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD"/>
+			<xs:element name="derivationExpr" type="ST" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="repeatNumber" type="IVL_INT" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="value" type="ANY" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="interpretationCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="methodCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="targetSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="referenceRange" type="POCD_MT000040.ReferenceRange" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="required"/>
+		<xs:attribute name="moodCode" type="x_ActMoodDocumentObservation" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ObservationMedia">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="value" type="ED"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="ID" type="xs:ID"/>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="required"/>
+		<xs:attribute name="moodCode" type="ActMood" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ObservationRange">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="value" type="ANY" minOccurs="0"/>
+			<xs:element name="interpretationCode" type="CE" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassObservation" use="optional" default="OBS"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN.CRT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Order">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassRoot" use="optional" default="ACT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="RQO"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Organization">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="ON" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="standardIndustryClassCode" type="CE" minOccurs="0"/>
+			<xs:element name="asOrganizationPartOf" type="POCD_MT000040.OrganizationPartOf" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassOrganization" use="optional" fixed="ORG"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.OrganizationPartOf">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="wholeOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="PART"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Organizer">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="component" type="POCD_MT000040.Component4" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_ActClassDocumentEntryOrganizer" use="required"/>
+		<xs:attribute name="moodCode" type="ActMood" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ParentDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="setId" type="II" minOccurs="0"/>
+			<xs:element name="versionNumber" type="INT" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClinicalDocument" use="optional" fixed="DOCCLIN"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Participant1">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="functionCode" type="CE" minOccurs="0"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="associatedEntity" type="POCD_MT000040.AssociatedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="required"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Participant2">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="awarenessCode" type="CE" minOccurs="0"/>
+			<xs:element name="participantRole" type="POCD_MT000040.ParticipantRole"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="required"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ParticipantRole">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:choice>
+				<xs:element name="playingDevice" type="POCD_MT000040.Device" minOccurs="0"/>
+				<xs:element name="playingEntity" type="POCD_MT000040.PlayingEntity" minOccurs="0"/>
+			</xs:choice>
+			<xs:element name="scopingEntity" type="POCD_MT000040.Entity" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassRoot" use="optional" default="ROL"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Patient">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0"/>
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="administrativeGenderCode" type="CE" minOccurs="0"/>
+			<xs:element name="birthTime" type="TS" minOccurs="0"/>
+			<xs:element ref="sdtc:deceasedInd" minOccurs="0" maxOccurs="1"/>
+			<xs:element name="maritalStatusCode" type="CE" minOccurs="0"/>
+			<xs:element name="religiousAffiliationCode" type="CE" minOccurs="0"/>
+			<xs:element name="raceCode" type="CE" minOccurs="0"/>
+		  	<!-- Begin Extension: (SDTC) -->
+		  	<xs:element ref="sdtc:raceCode" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element ref="sdtc:ethnicGroupCode" minOccurs="0" maxOccurs="unbounded"/>
+		  	<!-- End Extension: (SDTC) -->
+			<xs:element name="ethnicGroupCode" type="CE" minOccurs="0"/>
+			<xs:element name="guardian" type="POCD_MT000040.Guardian" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="birthplace" type="POCD_MT000040.Birthplace" minOccurs="0"/>
+			<xs:element name="languageCommunication" type="POCD_MT000040.LanguageCommunication" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClass" use="optional" fixed="PSN"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.PatientRole">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="patient" type="POCD_MT000040.Patient" minOccurs="0"/>
+			<xs:element name="providerOrganization" type="POCD_MT000040.Organization" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="PAT"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Performer1">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="functionCode" type="CE" minOccurs="0"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ServiceEventPerformer" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Performer2">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="time" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="modeCode" type="CE" minOccurs="0"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationPhysicalPerformer" use="optional" fixed="PRF"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Person">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClass" use="optional" fixed="PSN"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Place">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="EN" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassPlace" use="optional" fixed="PLC"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.PlayingEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="quantity" type="PQ" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+		  <!-- Begin Extension: (SDTC) -->
+		  <xs:element ref="sdtc:birthTime" minOccurs="0" maxOccurs="1"/>
+		  <!-- End Extension: (SDTC) -->
+			<xs:element name="desc" type="ED" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClassRoot" use="optional" default="ENT"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Precondition">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="criterion" type="POCD_MT000040.Criterion"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="PRCN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Procedure">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="methodCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="approachSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="targetSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required"/>
+		<xs:attribute name="moodCode" type="x_DocumentProcedureMood" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Product">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="manufacturedProduct" type="POCD_MT000040.ManufacturedProduct"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="PRD"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RecordTarget">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="patientRole" type="POCD_MT000040.PatientRole"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="RCT"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Reference">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="seperatableInd" type="BL" minOccurs="0"/>
+			<xs:choice>
+				<xs:element name="externalAct" type="POCD_MT000040.ExternalAct"/>
+				<xs:element name="externalObservation" type="POCD_MT000040.ExternalObservation"/>
+				<xs:element name="externalProcedure" type="POCD_MT000040.ExternalProcedure"/>
+				<xs:element name="externalDocument" type="POCD_MT000040.ExternalDocument"/>
+			</xs:choice>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipExternalReference" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ReferenceRange">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="observationRange" type="POCD_MT000040.ObservationRange"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ActRelationshipType" use="optional" fixed="REFV"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RegionOfInterest.value">
+		<xs:complexContent>
+			<xs:extension base="INT">
+				<xs:attribute name="unsorted" type="xs:boolean" default="false"/>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RegionOfInterest">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CS"/>
+			<xs:element name="value" type="POCD_MT000040.RegionOfInterest.value" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="ID" type="xs:ID"/>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required" fixed="ROIOVL"/>
+		<xs:attribute name="moodCode" type="ActMood" use="required" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RelatedDocument">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="parentDocument" type="POCD_MT000040.ParentDocument"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="x_ActRelationshipDocument" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RelatedEntity">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="relatedPerson" type="POCD_MT000040.Person" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassMutualRelationship" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.RelatedSubject">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="addr" type="AD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="telecom" type="TEL" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="subject" type="POCD_MT000040.SubjectPerson" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="x_DocumentSubject" use="optional" default="PRS"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ResponsibleParty">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="assignedEntity" type="POCD_MT000040.AssignedEntity"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="RESP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Section">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="title" type="ST" minOccurs="0"/>
+			<xs:element name="text" type="StrucDoc.Text" minOccurs="0"/>
+			<xs:element name="confidentialityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entry" type="POCD_MT000040.Entry" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="component" type="POCD_MT000040.Component5" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="ID" type="xs:ID"/>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="DOCSECT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.ServiceEvent">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CE" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer1" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassRoot" use="optional" default="ACT"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Specimen">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="specimenRole" type="POCD_MT000040.SpecimenRole"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="SPC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.SpecimenRole">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="specimenPlayingEntity" type="POCD_MT000040.PlayingEntity" minOccurs="0"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="RoleClassSpecimen" use="optional" fixed="SPEC"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.StructuredBody">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="confidentialityCode" type="CE" minOccurs="0"/>
+			<xs:element name="languageCode" type="CS" minOccurs="0"/>
+			<xs:element name="component" type="POCD_MT000040.Component3" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="optional" fixed="DOCBODY"/>
+		<xs:attribute name="moodCode" type="ActMood" use="optional" fixed="EVN"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Subject">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="awarenessCode" type="CE" minOccurs="0"/>
+			<xs:element name="relatedSubject" type="POCD_MT000040.RelatedSubject"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="typeCode" type="ParticipationTargetSubject" use="optional" fixed="SBJ"/>
+		<xs:attribute name="contextControlCode" type="ContextControl" use="optional" fixed="OP"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.SubjectPerson">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+		  <!-- Begin Extension: (SDTC) -->
+		  <xs:element ref="sdtc:id" minOccurs="0" maxOccurs="unbounded"/>
+		  <!-- End Extension: (SDTC) -->
+			<xs:element name="name" type="PN" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="administrativeGenderCode" type="CE" minOccurs="0"/>
+			<xs:element name="birthTime" type="TS" minOccurs="0"/>
+		  <!-- Begin Extension: (SDTC) -->
+		  <xs:element ref="sdtc:deceasedInd" minOccurs="0" maxOccurs="1"/>
+		  <xs:element ref="sdtc:deceasedTime" minOccurs="0" maxOccurs="1"/>
+		  <!-- End Extension: (SDTC) -->
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="EntityClass" use="optional" fixed="PSN"/>
+		<xs:attribute name="determinerCode" type="EntityDeterminer" use="optional" fixed="INSTANCE"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.SubstanceAdministration">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="SXCM_TS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0"/>
+			<xs:element name="repeatNumber" type="IVL_INT" minOccurs="0"/>
+			<xs:element name="routeCode" type="CE" minOccurs="0"/>
+			<xs:element name="approachSiteCode" type="CD" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="doseQuantity" type="IVL_PQ" minOccurs="0"/>
+			<xs:element name="rateQuantity" type="IVL_PQ" minOccurs="0"/>
+			<xs:element name="maxDoseQuantity" type="RTO_PQ_PQ" minOccurs="0"/>
+			<xs:element name="administrationUnitCode" type="CE" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="consumable" type="POCD_MT000040.Consumable"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClass" use="required" fixed="SBADM"/>
+		<xs:attribute name="moodCode" type="x_DocumentSubstanceMood" use="required"/>
+		<xs:attribute name="negationInd" type="bl" use="optional"/>
+	</xs:complexType>
+	<xs:complexType name="POCD_MT000040.Supply">
+		<xs:sequence>
+			<xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="typeId" type="POCD_MT000040.InfrastructureRoot.typeId" minOccurs="0"/>
+			<xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="code" type="CD" minOccurs="0"/>
+			<xs:element name="text" type="ED" minOccurs="0"/>
+			<xs:element name="statusCode" type="CS" minOccurs="0"/>
+			<xs:element name="effectiveTime" type="SXCM_TS" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="priorityCode" type="CE" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="repeatNumber" type="IVL_INT" minOccurs="0"/>
+			<xs:element name="independentInd" type="BL" minOccurs="0"/>
+			<xs:element name="quantity" type="PQ" minOccurs="0"/>
+			<xs:element name="expectedUseTime" type="IVL_TS" minOccurs="0"/>
+			<xs:element name="subject" type="POCD_MT000040.Subject" minOccurs="0"/>
+			<xs:element name="specimen" type="POCD_MT000040.Specimen" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="product" type="POCD_MT000040.Product" minOccurs="0"/>
+			<xs:element name="performer" type="POCD_MT000040.Performer2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="author" type="POCD_MT000040.Author" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="informant" type="POCD_MT000040.Informant12" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="participant" type="POCD_MT000040.Participant2" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="entryRelationship" type="POCD_MT000040.EntryRelationship" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="reference" type="POCD_MT000040.Reference" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="precondition" type="POCD_MT000040.Precondition" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
+		<xs:attribute name="classCode" type="ActClassSupply" use="required" fixed="SPLY"/>
+		<xs:attribute name="moodCode" type="x_DocumentSubstanceMood" use="required"/>
+	</xs:complexType>
+</xs:schema>
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/SDTC.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/SDTC.xsd
new file mode 100644
index 0000000..5cbbdd0
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/SDTC.xsd
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Extensions created for CCD include:
+  
+  •	AssignedPerson / id
+  •	AssociatedPerson / id
+  •	GuardianPerson / id
+  •	InformationRecipient / id
+  •	MaintainingPerson / id
+  •	RelatedPerson / id
+  •	asPatientRelationship
+  •	asPatientRelationship / @classCode
+  •	asPatientRelationship / code
+  •	Subject / id 
+  •	Subject / deceasedInd 
+  •	Subject / deceasedTime 
+  
+  Extensions created for QRDA include:
+  
+  •	code/@valueSet
+  •	code/@valueSetVersion
+  
+  Extension 14 July 2013
+  •	authenticator/signatureText
+  •	legalAuthenticator/signatureText
+  
+-->
+<xs:schema targetNamespace="urn:hl7-org:sdtc" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:hl7-org:sdtc" elementFormDefault="qualified"
+  xmlns:hl7="urn:hl7-org:v3">
+  <xs:annotation>
+    <xs:documentation>SDTC Schema Extensions, July 2012</xs:documentation>
+    <xs:documentation>SG: Added digitalSignature extension, 14 July 2013</xs:documentation>
+    
+  </xs:annotation>
+  <xs:import namespace="urn:hl7-org:v3" schemaLocation="POCD_MT000040_SDTC.xsd" />
+
+  <xs:attribute name="valueSet" type="hl7:oid"/>
+  <xs:attribute name="valueSetVersion" type="hl7:st"/>
+   
+  <xs:element name="raceCode" type="hl7:CE"/>
+
+  <xs:element name="ethnicGroupCode" type="hl7:CE"/>
+  
+  <xs:element name="dischargeDispositionCode" type="hl7:CE"/>
+  
+  <xs:element name="id" type="hl7:II"/>
+  
+  <xs:element name="deceasedInd" type="hl7:BL"/>
+  <xs:element name="deceasedTime" type="hl7:TS"/>
+  
+  <xs:element name="birthTime" type="hl7:TS"/>
+  
+  <xs:element name="signatureText" type="hl7:ED"/>
+
+
+
+
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/NarrativeBlock.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/NarrativeBlock.xsd
new file mode 100644
index 0000000..13805a8
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/NarrativeBlock.xsd
@@ -0,0 +1,544 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!-- $Id: NarrativeBlock.xsd,v 1.4 2005/04/17 03:13:19 lmckenzi Exp $ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:hl7-org:v3" targetNamespace="urn:hl7-org:v3" elementFormDefault="qualified">
+   <xs:complexType name="StrucDoc.Text" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.Content"/>
+         <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+         <xs:element name="footnote" type="StrucDoc.Footnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+         <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+         <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+         <xs:element name="list" type="StrucDoc.List"/>
+         <xs:element name="table" type="StrucDoc.Table"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="mediaType" type="xs:string" fixed="text/x-hl7-text+xml"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Title" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.TitleContent"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+         <xs:element name="footnote" type="StrucDoc.TitleFootnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="mediaType" type="xs:string" fixed="text/x-hl7-title+xml"/>
+   </xs:complexType><!-- DELETE THIS, we don't need to define a global element for text
+	<xs:element name="text" type="text"/>
+ -->
+   <xs:complexType name="StrucDoc.Br"/>
+   <xs:complexType name="StrucDoc.Caption" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="footnote" type="StrucDoc.Footnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Col">
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="span" type="xs:string" default="1"/>
+      <xs:attribute name="width" type="xs:string"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Colgroup">
+      <xs:sequence minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="col" type="StrucDoc.Col"/>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="span" type="xs:string" default="1"/>
+      <xs:attribute name="width" type="xs:string"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Content" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.Content"/>
+         <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+         <xs:element name="footnote" type="StrucDoc.Footnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+         <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="revised">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="insert"/>
+               <xs:enumeration value="delete"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.TitleContent" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.TitleContent"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+         <xs:element name="footnote" type="StrucDoc.TitleFootnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Footnote" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.Content"/>
+         <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+         <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+         <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+         <xs:element name="list" type="StrucDoc.List"/>
+         <xs:element name="table" type="StrucDoc.Table"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.TitleFootnote" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.TitleContent"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.FootnoteRef">
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="IDREF" type="xs:IDREF" use="required"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Item" mixed="true">
+      <xs:sequence>
+         <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+         <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="content" type="StrucDoc.Content"/>
+            <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+            <xs:element name="sub" type="StrucDoc.Sub"/>
+            <xs:element name="sup" type="StrucDoc.Sup"/>
+            <xs:element name="br" type="StrucDoc.Br"/>
+            <xs:element name="footnote" type="StrucDoc.Footnote"/>
+            <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+            <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+            <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+            <xs:element name="list" type="StrucDoc.List"/>
+            <xs:element name="table" type="StrucDoc.Table"/>
+         </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.LinkHtml" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="footnote" type="StrucDoc.Footnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      </xs:choice>
+      <xs:attribute name="name" type="xs:string"/>
+      <xs:attribute name="href" type="xs:string"/>
+      <xs:attribute name="rel" type="xs:string"/>
+      <xs:attribute name="rev" type="xs:string"/>
+      <xs:attribute name="title" type="xs:string"/>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.List">
+      <xs:sequence>
+         <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+         <xs:element name="item" type="StrucDoc.Item" maxOccurs="unbounded"/>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="listType" default="unordered">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="ordered"/>
+               <xs:enumeration value="unordered"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Paragraph" mixed="true">
+      <xs:sequence>
+         <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+         <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="content" type="StrucDoc.Content"/>
+            <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+            <xs:element name="sub" type="StrucDoc.Sub"/>
+            <xs:element name="sup" type="StrucDoc.Sup"/>
+            <xs:element name="br" type="StrucDoc.Br"/>
+            <xs:element name="footnote" type="StrucDoc.Footnote"/>
+            <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+            <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+         </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.RenderMultiMedia">
+      <xs:sequence>
+         <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+      </xs:sequence>
+      <xs:attribute name="referencedObject" type="xs:IDREFS" use="required"/>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Sub" mixed="true"/>
+   <xs:complexType name="StrucDoc.Sup" mixed="true"/>
+   <xs:complexType name="StrucDoc.Table">
+      <xs:sequence>
+         <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+         <xs:choice>
+            <xs:element name="col" type="StrucDoc.Col" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="colgroup" type="StrucDoc.Colgroup" minOccurs="0" maxOccurs="unbounded"/>
+         </xs:choice>
+         <xs:element name="thead" type="StrucDoc.Thead" minOccurs="0"/>
+         <xs:element name="tfoot" type="StrucDoc.Tfoot" minOccurs="0"/>
+         <xs:element name="tbody" type="StrucDoc.Tbody" maxOccurs="unbounded"/>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="summary" type="xs:string"/>
+      <xs:attribute name="width" type="xs:string"/>
+      <xs:attribute name="border" type="xs:string"/>
+      <xs:attribute name="frame">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="void"/>
+               <xs:enumeration value="above"/>
+               <xs:enumeration value="below"/>
+               <xs:enumeration value="hsides"/>
+               <xs:enumeration value="lhs"/>
+               <xs:enumeration value="rhs"/>
+               <xs:enumeration value="vsides"/>
+               <xs:enumeration value="box"/>
+               <xs:enumeration value="border"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rules">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="none"/>
+               <xs:enumeration value="groups"/>
+               <xs:enumeration value="rows"/>
+               <xs:enumeration value="cols"/>
+               <xs:enumeration value="all"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="cellspacing" type="xs:string"/>
+      <xs:attribute name="cellpadding" type="xs:string"/>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Tbody">
+      <xs:sequence maxOccurs="unbounded">
+         <xs:element name="tr" type="StrucDoc.Tr"/>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Td" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.Content"/>
+         <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+         <xs:element name="footnote" type="StrucDoc.Footnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+         <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+         <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+         <xs:element name="list" type="StrucDoc.List"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="abbr" type="xs:string"/>
+      <xs:attribute name="axis" type="xs:string"/>
+      <xs:attribute name="headers" type="xs:IDREFS"/>
+      <xs:attribute name="scope">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="row"/>
+               <xs:enumeration value="col"/>
+               <xs:enumeration value="rowgroup"/>
+               <xs:enumeration value="colgroup"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowspan" type="xs:string" default="1"/>
+      <xs:attribute name="colspan" type="xs:string" default="1"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Tfoot">
+      <xs:sequence maxOccurs="unbounded">
+         <xs:element name="tr" type="StrucDoc.Tr"/>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Th" mixed="true">
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+         <xs:element name="content" type="StrucDoc.Content"/>
+         <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+         <xs:element name="sub" type="StrucDoc.Sub"/>
+         <xs:element name="sup" type="StrucDoc.Sup"/>
+         <xs:element name="br" type="StrucDoc.Br"/>
+         <xs:element name="footnote" type="StrucDoc.Footnote"/>
+         <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+         <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="abbr" type="xs:string"/>
+      <xs:attribute name="axis" type="xs:string"/>
+      <xs:attribute name="headers" type="xs:IDREFS"/>
+      <xs:attribute name="scope">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="row"/>
+               <xs:enumeration value="col"/>
+               <xs:enumeration value="rowgroup"/>
+               <xs:enumeration value="colgroup"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="rowspan" type="xs:string" default="1"/>
+      <xs:attribute name="colspan" type="xs:string" default="1"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Thead">
+      <xs:sequence maxOccurs="unbounded">
+         <xs:element name="tr" type="StrucDoc.Tr"/>
+      </xs:sequence>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:complexType name="StrucDoc.Tr">
+      <xs:choice maxOccurs="unbounded">
+         <xs:element name="th" type="StrucDoc.Th"/>
+         <xs:element name="td" type="StrucDoc.Td"/>
+      </xs:choice>
+      <xs:attribute name="ID" type="xs:ID"/>
+      <xs:attribute name="language" type="xs:NMTOKEN"/>
+      <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+      <xs:attribute name="align">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="left"/>
+               <xs:enumeration value="center"/>
+               <xs:enumeration value="right"/>
+               <xs:enumeration value="justify"/>
+               <xs:enumeration value="char"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="char" type="xs:string"/>
+      <xs:attribute name="charoff" type="xs:string"/>
+      <xs:attribute name="valign">
+         <xs:simpleType>
+            <xs:restriction base="xs:NMTOKEN">
+               <xs:enumeration value="top"/>
+               <xs:enumeration value="middle"/>
+               <xs:enumeration value="bottom"/>
+               <xs:enumeration value="baseline"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:attribute>
+   </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes-base.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes-base.xsd
new file mode 100644
index 0000000..fe257d1
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes-base.xsd
@@ -0,0 +1,1860 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+    This schema is generated from a Generic Schema Definition (GSD)
+    by gsd2xsl. Do not edit this file.
+  -->
+<xs:schema xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+   <xs:annotation>
+      <xs:documentation>
+           Copyright (c) 2001, 2002, 2003, 2004, 2005 Health Level Seven.
+           All rights reserved.
+
+           Redistribution and use in source and binary forms, with or
+           without modification, are permitted provided that the following
+           conditions are met:
+           1. Redistributions of source code must retain the above
+              copyright notice, this list of conditions and the following
+              disclaimer.
+           2. Redistributions in binary form must reproduce the above
+              copyright notice, this list of conditions and the following
+              disclaimer in the documentation and/or other materials
+              provided with the distribution.
+           3. All advertising materials mentioning features or use of this
+              software must display the following acknowledgement:
+           
+           This product includes software developed by Health Level Seven.
+ 
+           THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS
+           ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+           NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+           FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
+           SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+           INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+           DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+           GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+           INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+           WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+           NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+           OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+           DAMAGE.
+        
+           Generated by $Id: gsd2xsd.xsl,v 1.4 2005/04/17 03:20:15 lmckenzi Exp $
+</xs:documentation>
+   </xs:annotation>
+   <xs:include schemaLocation="voc.xsd"/>
+   <xs:annotation>
+      <xs:documentation>
+           Generated by $Id: v3dt-schema.xsl,v 1.5 2005/05/24 05:44:38 lmckenzi Exp $
+</xs:documentation>
+   </xs:annotation>
+   <xs:complexType name="ANY" abstract="true">
+      <xs:annotation>
+         <xs:documentation>
+            Defines the basic properties of every data value. This
+            is an abstract type, meaning that no value can be just
+            a data value without belonging to any concrete type.
+            Every concrete type is a specialization of this
+            general abstract DataValue type.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:attribute name="nullFlavor" type="NullFlavor" use="optional">
+         <xs:annotation>
+            <xs:documentation>
+               An exceptional value expressing missing information
+               and possibly the reason why the information is missing.
+            </xs:documentation>
+         </xs:annotation>
+      </xs:attribute>
+   </xs:complexType>
+   <xs:simpleType name="bl">
+      <xs:annotation>
+         <xs:documentation>
+            The Boolean type stands for the values of two-valued logic.
+            A Boolean value can be either true or
+            false, or, as any other value may be NULL.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:boolean">
+         <xs:pattern value="true|false"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:complexType name="BL">
+      <xs:annotation>
+         <xs:documentation>
+            The Boolean type stands for the values of two-valued logic.
+            A Boolean value can be either true or
+            false, or, as any other value may be NULL.
+         </xs:documentation>
+         <xs:appinfo>
+            <sch:pattern name="validate BL">
+               <sch:rule abstract="true" id="rule-BL">
+                  <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)"/>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:attribute name="value" use="optional" type="bl"/>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="bn">
+      <xs:annotation>
+         <xs:documentation>
+            The BooleanNonNull type is used where a Boolean cannot
+            have a null value. A Boolean value can be either
+            true or false.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="bl"/>
+   </xs:simpleType>
+   <xs:complexType name="ANYNonNull">
+      <xs:annotation>
+         <xs:documentation>
+            The BooleanNonNull type is used where a Boolean cannot
+            have a null value. A Boolean value can be either
+            true or false.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="ANY">
+            <xs:attribute name="nullFlavor" type="NullFlavor" use="prohibited"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="BN">
+      <xs:annotation>
+         <xs:documentation>
+            The BooleanNonNull type is used where a Boolean cannot
+            have a null value. A Boolean value can be either
+            true or false.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANYNonNull">
+            <xs:attribute name="value" use="optional" type="bn"/>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="BIN" abstract="true" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            Binary data is a raw block of bits. Binary data is a
+            protected type that MUST not be used outside the data
+            type specification.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:attribute name="representation" use="optional" type="BinaryDataEncoding" default="TXT">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies the representation of the binary data that
+                     is the content of the binary data value.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="bin">
+      <xs:annotation>
+         <xs:documentation>
+            Binary data is a raw block of bits. Binary data is a
+            protected type that MUST not be used outside the data
+            type specification.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:base64Binary"/>
+   </xs:simpleType>
+   <xs:simpleType name="BinaryDataEncoding">
+      <xs:restriction base="xs:NMTOKEN">
+         <xs:enumeration value="B64"/>
+         <xs:enumeration value="TXT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:complexType name="ED" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            Data that is primarily intended for human interpretation
+            or for further machine processing is outside the scope of
+            HL7. This includes unformatted or formatted written language,
+            multimedia data, or structured information as defined by a
+            different standard (e.g., XML-signatures.)  Instead of the
+            data itself, an ED may contain 
+            only a reference (see TEL.) Note
+            that the ST data type is a
+            specialization of the ED data type
+            when the ED media type is text/plain.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="BIN">
+            <xs:sequence>
+               <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A telecommunication address (TEL), such as a URL
+                        for HTTP or FTP, which will resolve to precisely
+                        the same binary data that could as well have been
+                        provided as inline data.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="thumbnail" minOccurs="0" maxOccurs="1" type="thumbnail"/>
+            </xs:sequence>
+            <xs:attribute name="mediaType" type="cs" use="optional" default="text/plain">
+               <xs:annotation>
+                  <xs:documentation>
+                     Identifies the type of the encapsulated data and
+                     identifies a method to interpret or render the data.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="language" type="cs" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     For character based information the language property
+                     specifies the human language of the text.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="compression" type="CompressionAlgorithm" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Indicates whether the raw byte data is compressed,
+                     and what compression algorithm was used.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="integrityCheck" type="bin" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The integrity check is a short binary value representing
+                     a cryptographically strong checksum that is calculated
+                     over the binary data. The purpose of this property, when
+                     communicated with a reference is for anyone to validate
+                     later whether the reference still resolved to the same
+                     data that the reference resolved to when the encapsulated
+                     data value with reference was created.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="integrityCheckAlgorithm" type="IntegrityCheckAlgorithm" use="optional" default="SHA-1">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies the algorithm used to compute the
+                     integrityCheck value.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="thumbnail" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+                     A thumbnail is an abbreviated rendition of the full
+                     data. A thumbnail requires significantly fewer
+                     resources than the full data, while still maintaining
+                     some distinctive similarity with the full data. A
+                     thumbnail is typically used with by-reference
+                     encapsulated data. It allows a user to select data
+                     more efficiently before actually downloading through
+                     the reference.
+                  </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="ED">
+            <xs:sequence>
+               <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="1"/>
+               <xs:element name="thumbnail" type="thumbnail" minOccurs="0" maxOccurs="0"/>
+            </xs:sequence>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="st">
+      <xs:annotation>
+         <xs:documentation>
+            The character string data type stands for text data,
+            primarily intended for machine processing (e.g.,
+            sorting, querying, indexing, etc.) Used for names,
+            symbols, and formal expressions.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:string">
+         <xs:minLength value="1"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:complexType name="ST" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            The character string data type stands for text data,
+            primarily intended for machine processing (e.g.,
+            sorting, querying, indexing, etc.) Used for names,
+            symbols, and formal expressions.
+         </xs:documentation>
+         <xs:appinfo>
+            <sch:pattern name="validate ST">
+               <sch:rule abstract="true" id="rule-ST">
+                  <sch:report test="(@nullFlavor or text()) and not(@nullFlavor and text())">
+                     <p>Text content is only allowed in non-NULL values.</p>
+                  </sch:report>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="ED">
+            <xs:sequence>
+               <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="0"/>
+               <xs:element name="thumbnail" type="ED" minOccurs="0" maxOccurs="0"/>
+            </xs:sequence>
+            <xs:attribute name="representation" type="BinaryDataEncoding" fixed="TXT"/>
+            <xs:attribute name="mediaType" type="cs" fixed="text/plain"/>
+            <xs:attribute name="language" type="cs" use="optional"/>
+            <xs:attribute name="compression" type="CompressionAlgorithm" use="prohibited"/>
+            <xs:attribute name="integrityCheck" type="bin" use="prohibited"/>
+            <xs:attribute name="integrityCheckAlgorithm" type="IntegrityCheckAlgorithm" use="prohibited"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="cs">
+      <xs:annotation>
+         <xs:documentation>
+            Coded data in its simplest form, consists of a code.
+            The code system and code system version is fixed by 
+            the context in which the CS value occurs. CS is used
+            for coded attributes that have a single HL7-defined
+            value set.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:token">
+         <xs:pattern value="[^\s]+"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:complexType name="CD">
+      <xs:annotation>
+         <xs:documentation>
+            A concept descriptor represents any kind of concept usually
+            by giving a code defined in a code system.  A concept
+            descriptor can contain the original text or phrase that
+            served as the basis of the coding and one or more
+            translations into different coding systems. A concept
+            descriptor can also contain qualifiers to describe, e.g.,
+            the concept of a "left foot" as a postcoordinated term built
+            from the primary code "FOOT" and the qualifier "LEFT".
+            In exceptional cases, the concept descriptor need not
+            contain a code but only the original text describing
+            that concept.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The text or phrase used as the basis for the coding.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="qualifier" type="CR" minOccurs="0" maxOccurs="unbounded">
+                  <xs:annotation>
+                     <xs:documentation>
+                        Specifies additional codes that increase the
+                        specificity of the primary code.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="unbounded">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A set of other concept descriptors that translate
+                        this concept descriptor into other code systems.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="code" type="cs" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystem" type="uid" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemVersion" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="displayName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="CE">
+      <xs:annotation>
+         <xs:documentation>
+            Coded data, consists of a coded value (CV)
+            and, optionally, coded value(s) from other coding systems
+            that identify the same concept. Used when alternative
+            codes may exist.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="CD">
+            <xs:sequence>
+               <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The text or phrase used as the basis for the coding.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="qualifier" type="CR" minOccurs="0" maxOccurs="0"/>
+               <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="unbounded">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A set of other concept descriptors that translate
+                        this concept descriptor into other code systems.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="code" type="cs" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystem" type="uid" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemVersion" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="displayName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="CV">
+      <xs:annotation>
+         <xs:documentation>
+            Coded data, consists of a code, display name, code system,
+            and original text. Used when a single code value must be sent.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="CE">
+            <xs:sequence>
+               <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The text or phrase used as the basis for the coding.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="0"/>
+            </xs:sequence>
+            <xs:attribute name="code" type="cs" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystem" type="uid" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemVersion" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="displayName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="CS">
+      <xs:annotation>
+         <xs:documentation>
+            Coded data, consists of a code, display name, code system,
+            and original text. Used when a single code value must be sent.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="CV">
+            <xs:attribute name="code" type="cs" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystem" type="uid" use="prohibited"/>
+            <xs:attribute name="codeSystemName" type="st" use="prohibited"/>
+            <xs:attribute name="codeSystemVersion" type="st" use="prohibited"/>
+            <xs:attribute name="displayName" type="st" use="prohibited"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="CO">
+      <xs:annotation>
+         <xs:documentation>
+            Coded data, where the domain from which the codeset comes
+            is ordered. The Coded Ordinal data type adds semantics
+            related to ordering so that models that make use of such
+            domains may introduce model elements that involve statements
+            about the order of the terms in a domain. 
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="CV"/>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="CR">
+      <xs:annotation>
+         <xs:documentation>
+            A concept qualifier code with optionally named role.
+            Both qualifier role and value codes must be defined by
+            the coding system.  For example, if SNOMED RT defines a
+            concept "leg", a role relation "has-laterality", and
+            another concept "left", the concept role relation allows
+            to add the qualifier "has-laterality: left" to a primary
+            code "leg" to construct the meaning "left leg".
+         </xs:documentation>
+         <xs:appinfo>
+            <sch:pattern name="validate CR">
+               <sch:rule abstract="true" id="rule-CR">
+                  <sch:report test="(value or @nullFlavor) and not(@nullFlavor and node())">
+                     <p>
+                        A value component is required or else the
+                        code role is NULL.
+                     </p>
+                  </sch:report>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="name" type="CV" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        Specifies the manner in which the concept role value
+                        contributes to the meaning of a code phrase.  For
+                        example, if SNOMED RT defines a concept "leg", a role
+                        relation "has-laterality", and another concept "left",
+                        the concept role relation allows to add the qualifier
+                        "has-laterality: left" to a primary code "leg" to
+                        construct the meaning "left leg".  In this example
+                        "has-laterality" is the CR.name.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="value" type="CD" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The concept that modifies the primary code of a code
+                        phrase through the role relation.  For example, if
+                        SNOMED RT defines a concept "leg", a role relation
+                        "has-laterality", and another concept "left", the
+                        concept role relation allows adding the qualifier
+                        "has-laterality: left" to a primary code "leg" to
+                        construct the meaning "left leg".  In this example
+                        "left" is the CR.value.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="inverted" type="bn" use="optional" default="false">
+               <xs:annotation>
+                  <xs:documentation>
+                     Indicates if the sense of the role name is inverted.
+                     This can be used in cases where the underlying code
+                     system defines inversion but does not provide reciprocal
+                     pairs of role names. By default, inverted is false.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SC" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            A ST that optionally may have a code attached.
+            The text must always be present if a code is present. The
+            code is often a local code.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ST">
+            <xs:attribute name="code" type="cs" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystem" type="uid" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="codeSystemVersion" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="displayName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="uid">
+      <xs:annotation>
+         <xs:documentation>
+            A unique identifier string is a character string which
+            identifies an object in a globally unique and timeless
+            manner. The allowable formats and values and procedures
+            of this data type are strictly controlled by HL7. At this
+            time, user-assigned identifiers may be certain character
+            representations of ISO Object Identifiers (OID) and DCE
+            Universally Unique Identifiers (UUID). HL7 also reserves
+            the right to assign other forms of UIDs, such as mnemonic
+            identifiers for code systems.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="oid uuid ruid"/>
+   </xs:simpleType>
+   <xs:simpleType name="oid">
+      <xs:annotation>
+         <xs:documentation>
+            A globally unique string representing an ISO Object Identifier
+            (OID) in a form that consists only of non-negative numbers with
+            no leading zeros and dots (e.g., "2.16.840.1.113883.3.1").
+            According to ISO, OIDs are paths in a tree structure, with the
+            left-most number representing the root and the right-most number
+            representing a leaf.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:string">
+         <xs:pattern value="[0-2](\.(0|[1-9][0-9]*))*"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="uuid">
+      <xs:annotation>
+         <xs:documentation>
+            A DCE Universal Unique Identifier is a globally unique
+            string consisting of 5 groups of upper- or lower-case
+            hexadecimal digits having 8, 4, 4, 4, and 12 places
+            respectively. UUIDs are assigned using Ethernet MAC
+            addresses, the point in time of creation and some random
+            components. This mix is believed to generate sufficiently
+            unique identifiers without any organizational policy for
+            identifier assignment (in fact this piggy-backs on the
+            organization of MAC address assignment.)
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:string">
+         <xs:pattern value="[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ruid">
+      <xs:annotation>
+         <xs:documentation>
+            HL7 reserved identifiers are strings consisting only of
+            (US-ASCII) letters, digits and hyphens, where the first
+            character must be a letter. HL7 may assign these reserved
+            identifiers as mnemonic identifiers for major concepts of
+            interest to HL7.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:string">
+         <xs:pattern value="[A-Za-z][A-Za-z0-9\-]*"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:complexType name="II">
+      <xs:annotation>
+         <xs:documentation>
+            An identifier that uniquely identifies a thing or object.
+            Examples are object identifier for HL7 RIM objects,
+            medical record number, order id, service catalog item id,
+            Vehicle Identification Number (VIN), etc. Instance
+            identifiers are defined based on ISO object identifiers.
+         </xs:documentation>
+         <xs:appinfo>
+            <sch:pattern name="validate II">
+               <sch:rule abstract="true" id="rule-II">
+                  <sch:report test="(@root or @nullFlavor) and not(@root and @nullFlavor)">
+                     A root component is required or else the II value is NULL.
+                  </sch:report>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:attribute name="root" type="uid" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A unique identifier that guarantees the global uniqueness
+                     of the instance identifier. The root alone may be the
+                     entire instance identifier.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="extension" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A character string as a unique identifier within the
+                     scope of the identifier root.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="assigningAuthorityName" type="st" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A human readable name or mnemonic for the assigning
+                     authority. This name may be provided solely for the
+                     convenience of unaided humans interpreting an II value
+                     and can have no computational meaning. Note: no
+                     automated processing must depend on the assigning
+                     authority name to be present in any form.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="displayable" type="bl" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies if the identifier is intended for human
+                     display and data entry (displayable = true) as
+                     opposed to pure machine interoperation (displayable
+                     = false).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="url">
+      <xs:annotation>
+         <xs:documentation>
+            A telecommunications address  specified according to
+            Internet standard RFC 1738
+            [http://www.ietf.org/rfc/rfc1738.txt]. The
+            URL specifies the protocol and the contact point defined
+            by that protocol for the resource.  Notable uses of the
+            telecommunication address data type are for telephone and
+            telefax numbers, e-mail addresses, Hypertext references,
+            FTP references, etc.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:anyURI"/>
+   </xs:simpleType>
+   <xs:complexType name="URL" abstract="true">
+      <xs:annotation>
+         <xs:documentation>
+            A telecommunications address  specified according to
+            Internet standard RFC 1738
+            [http://www.ietf.org/rfc/rfc1738.txt]. The
+            URL specifies the protocol and the contact point defined
+            by that protocol for the resource.  Notable uses of the
+            telecommunication address data type are for telephone and
+            telefax numbers, e-mail addresses, Hypertext references,
+            FTP references, etc.
+         </xs:documentation>
+         <xs:appinfo>
+            <sch:pattern name="validate URL">
+               <sch:rule abstract="true" id="rule-URL">
+                  <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)"/>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:attribute name="value" type="url" use="optional"/>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="ts">
+      <xs:annotation>
+         <xs:documentation>
+            A quantity specifying a point on the axis of natural time.
+            A point in time is most often represented as a calendar
+            expression.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:string">
+         <xs:pattern value="[0-9]{1,8}|([0-9]{9,14}|[0-9]{14,14}\.[0-9]+)([+\-][0-9]{1,4})?"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:complexType name="TS">
+      <xs:annotation>
+         <xs:documentation>
+            A quantity specifying a point on the axis of natural time.
+            A point in time is most often represented as a calendar
+            expression.
+         </xs:documentation>
+         <xs:appinfo>
+            <diff>PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:attribute name="value" use="optional" type="ts"/>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="TEL">
+      <xs:annotation>
+         <xs:documentation>
+            A telephone number (voice or fax), e-mail address, or
+            other locator for a resource (information or service)
+            mediated by telecommunication equipment. The address
+            is specified as a Universal Resource Locator (URL)
+            qualified by time specification and use codes that help
+            in deciding which address to use for a given time and
+            purpose.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="URL">
+            <xs:sequence>
+               <xs:element name="useablePeriod" minOccurs="0" maxOccurs="unbounded" type="SXCM_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                     Specifies the periods of time during which the
+                     telecommunication address can be used.  For a
+                     telephone number, this can indicate the time of day
+                     in which the party can be reached on that telephone.
+                     For a web address, it may specify a time range in
+                     which the web content is promised to be available
+                     under the given address.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="use" use="optional" type="set_TelecommunicationAddressUse">
+               <xs:annotation>
+                  <xs:documentation>
+                     One or more codes advising a system or user which
+                     telecommunication address in a set of like addresses
+                     to select for a given telecommunication need.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="ADXP" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            A character string that may have a type-tag signifying its
+            role in the address. Typical parts that exist in about
+            every address are street, house number, or post box,
+            postal code, city, country but other roles may be defined
+            regionally, nationally, or on an enterprise level (e.g. in
+            military addresses). Addresses are usually broken up into
+            lines, which are indicated by special line-breaking
+            delimiter elements (e.g., DEL).
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ST">
+            <xs:attribute name="partType" type="AddressPartType">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether an address part names the street,
+                     city, country, postal code, post box, etc. If the type
+                     is NULL the address part is unclassified and would
+                     simply appear on an address label as is.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.delimiter">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DEL"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.country">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="CNT"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.state">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="STA"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.county">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="CPA"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.city">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="CTY"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.postalCode">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="ZIP"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.streetAddressLine">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="SAL"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.houseNumber">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="BNR"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.houseNumberNumeric">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="BNN"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.direction">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DIR"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.streetName">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="STR"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.streetNameBase">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="STB"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType><!--
+   jaxb implementors note: the jaxb code generator (v1.0.?) will
+   fail to append "Type" to streetNameType so that there will be
+   duplicate definitions in the java source for streetNameType.
+   You will have to fix this manually.
+  -->
+   <xs:complexType mixed="true" name="adxp.streetNameType">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="STTYP"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.additionalLocator">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="ADL"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.unitID">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="UNID"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.unitType">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="UNIT"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.careOf">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="CAR"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.censusTract">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="CEN"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.deliveryAddressLine">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DAL"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.deliveryInstallationType">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DINST"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.deliveryInstallationArea">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DINSTA"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.deliveryInstallationQualifier">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DINSTQ"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.deliveryMode">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DMOD"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.deliveryModeIdentifier">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="DMODID"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.buildingNumberSuffix">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="BNS"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.postBox">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="POB"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType mixed="true" name="adxp.precinct">
+      <xs:complexContent>
+         <xs:restriction base="ADXP">
+            <xs:attribute name="partType" type="AddressPartType" fixed="PRE"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="AD" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            Mailing and home or office addresses. A sequence of
+            address parts, such as street or post office Box, city,
+            postal code, country, etc.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:choice minOccurs="0" maxOccurs="unbounded">
+                  <xs:element name="delimiter" type="adxp.delimiter"/>
+                  <xs:element name="country" type="adxp.country"/>
+                  <xs:element name="state" type="adxp.state"/>
+                  <xs:element name="county" type="adxp.county"/>
+                  <xs:element name="city" type="adxp.city"/>
+                  <xs:element name="postalCode" type="adxp.postalCode"/>
+                  <xs:element name="streetAddressLine" type="adxp.streetAddressLine"/>
+                  <xs:element name="houseNumber" type="adxp.houseNumber"/>
+                  <xs:element name="houseNumberNumeric" type="adxp.houseNumberNumeric"/>
+                  <xs:element name="direction" type="adxp.direction"/>
+                  <xs:element name="streetName" type="adxp.streetName"/>
+                  <xs:element name="streetNameBase" type="adxp.streetNameBase"/>
+                  <xs:element name="streetNameType" type="adxp.streetNameType"/>
+                  <xs:element name="additionalLocator" type="adxp.additionalLocator"/>
+                  <xs:element name="unitID" type="adxp.unitID"/>
+                  <xs:element name="unitType" type="adxp.unitType"/>
+                  <xs:element name="careOf" type="adxp.careOf"/>
+                  <xs:element name="censusTract" type="adxp.censusTract"/>
+                  <xs:element name="deliveryAddressLine" type="adxp.deliveryAddressLine"/>
+                  <xs:element name="deliveryInstallationType" type="adxp.deliveryInstallationType"/>
+                  <xs:element name="deliveryInstallationArea" type="adxp.deliveryInstallationArea"/>
+                  <xs:element name="deliveryInstallationQualifier" type="adxp.deliveryInstallationQualifier"/>
+                  <xs:element name="deliveryMode" type="adxp.deliveryMode"/>
+                  <xs:element name="deliveryModeIdentifier" type="adxp.deliveryModeIdentifier"/>
+                  <xs:element name="buildingNumberSuffix" type="adxp.buildingNumberSuffix"/>
+                  <xs:element name="postBox" type="adxp.postBox"/>
+                  <xs:element name="precinct" type="adxp.precinct"/>
+               </xs:choice>
+               <xs:element name="useablePeriod" minOccurs="0" maxOccurs="unbounded" type="SXCM_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A General Timing Specification (GTS) specifying the
+                        periods of time during which the address can be used.
+                        This is used to specify different addresses for
+                        different times of the year or to refer to historical
+                        addresses.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="use" use="optional" type="set_PostalAddressUse">
+               <xs:annotation>
+                  <xs:documentation>
+                     A set of codes advising a system or user which address
+                     in a set of like addresses to select for a given purpose.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="isNotOrdered" type="bl" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A boolean value specifying whether the order of the
+                     address parts is known or not. While the address parts
+                     are always a Sequence, the order in which they are
+                     presented may or may not be known. Where this matters, the
+                     isNotOrdered property can be used to convey this
+                     information.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="ENXP" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            A character string token representing a part of a name.
+            May have a type code signifying the role of the part in
+            the whole entity name, and a qualifier code for more detail
+            about the name part type. Typical name parts for person
+            names are given names, and family names, titles, etc.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ST">
+            <xs:attribute name="partType" type="EntityNamePartType">
+               <xs:annotation>
+                  <xs:documentation>
+                     Indicates whether the name part is a given name, family
+                     name, prefix, suffix, etc.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="qualifier" use="optional" type="set_EntityNamePartQualifier">
+               <xs:annotation>
+                  <xs:documentation>
+                     The qualifier is a set of codes each of which specifies
+                     a certain subcategory of the name part in addition to
+                     the main name part type. For example, a given name may
+                     be flagged as a nickname, a family name may be a
+                     pseudonym or a name of public records.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="en.delimiter" mixed="true">
+      <xs:complexContent>
+         <xs:restriction base="ENXP">
+            <xs:attribute name="partType" type="EntityNamePartType" fixed="DEL"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="en.family" mixed="true">
+      <xs:complexContent>
+         <xs:restriction base="ENXP">
+            <xs:attribute name="partType" type="EntityNamePartType" fixed="FAM"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="en.given" mixed="true">
+      <xs:complexContent>
+         <xs:restriction base="ENXP">
+            <xs:attribute name="partType" type="EntityNamePartType" fixed="GIV"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="en.prefix" mixed="true">
+      <xs:complexContent>
+         <xs:restriction base="ENXP">
+            <xs:attribute name="partType" type="EntityNamePartType" fixed="PFX"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="en.suffix" mixed="true">
+      <xs:complexContent>
+         <xs:restriction base="ENXP">
+            <xs:attribute name="partType" type="EntityNamePartType" fixed="SFX"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="EN" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            A name for a person, organization, place or thing. A
+            sequence of name parts, such as given name or family
+            name, prefix, suffix, etc. Examples for entity name
+            values are "Jim Bob Walton, Jr.", "Health Level Seven,
+            Inc.", "Lake Tahoe", etc. An entity name may be as simple
+            as a character string or may consist of several entity name
+            parts, such as, "Jim", "Bob", "Walton", and "Jr.", "Health
+            Level Seven" and "Inc.", "Lake" and "Tahoe".
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:choice minOccurs="0" maxOccurs="unbounded">
+                  <xs:element name="delimiter" type="en.delimiter"/>
+                  <xs:element name="family" type="en.family"/>
+                  <xs:element name="given" type="en.given"/>
+                  <xs:element name="prefix" type="en.prefix"/>
+                  <xs:element name="suffix" type="en.suffix"/>
+               </xs:choice>
+               <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An interval of time specifying the time during which
+                        the name is or was used for the entity. This
+                        accomodates the fact that people change names for
+                        people, places and things.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="use" use="optional" type="set_EntityNameUse">
+               <xs:annotation>
+                  <xs:documentation>
+                     A set of codes advising a system or user which name
+                     in a set of like names to select for a given purpose.
+                     A name without specific use code might be a default
+                     name useful for any purpose, but a name with a specific
+                     use code would be preferred for that respective purpose.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PN" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            A name for a person. A sequence of name parts, such as
+            given name or family name, prefix, suffix, etc. PN differs
+            from EN because the qualifier type cannot include LS
+            (Legal Status).
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="EN"/>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="ON" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            A name for an organization. A sequence of name parts.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="EN">
+            <xs:sequence>
+               <xs:choice minOccurs="0" maxOccurs="unbounded">
+                  <xs:element name="delimiter" type="en.delimiter"/>
+                  <xs:element name="prefix" type="en.prefix"/>
+                  <xs:element name="suffix" type="en.suffix"/>
+               </xs:choice>
+               <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An interval of time specifying the time during which
+                        the name is or was used for the entity. This
+                        accomodates the fact that people change names for
+                        people, places and things.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="use" use="optional" type="set_EntityNameUse">
+               <xs:annotation>
+                  <xs:documentation>
+                     A set of codes advising a system or user which name
+                     in a set of like names to select for a given purpose.
+                     A name without specific use code might be a default
+                     name useful for any purpose, but a name with a specific
+                     use code would be preferred for that respective purpose.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="TN" mixed="true">
+      <xs:annotation>
+         <xs:documentation>
+            A restriction of entity name that is effectively a simple string used
+            for a simple name for things and places.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="EN">
+            <xs:sequence>
+               <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An interval of time specifying the time during which
+                        the name is or was used for the entity. This
+                        accomodates the fact that people change names for
+                        people, places and things.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="QTY" abstract="true">
+      <xs:annotation>
+         <xs:documentation>
+            The quantity data type is an abstract generalization
+            for all data types (1) whose value set has an order
+            relation (less-or-equal) and (2) where difference is
+            defined in all of the data type's totally ordered value
+            subsets.  The quantity type abstraction is needed in
+            defining certain other types, such as the interval and
+            the probability distribution.
+         </xs:documentation>
+         <xs:appinfo>
+            <diff>QTY</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="ANY"/>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="int">
+      <xs:annotation>
+         <xs:documentation>
+            Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise
+            numbers that are results of counting and enumerating.
+            Integer numbers are discrete, the set of integers is
+            infinite but countable.  No arbitrary limit is imposed on
+            the range of integer numbers. Two NULL flavors are
+            defined for the positive and negative infinity.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:integer"/>
+   </xs:simpleType>
+   <xs:complexType name="INT">
+      <xs:annotation>
+         <xs:documentation>
+            Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise
+            numbers that are results of counting and enumerating.
+            Integer numbers are discrete, the set of integers is
+            infinite but countable.  No arbitrary limit is imposed on
+            the range of integer numbers. Two NULL flavors are
+            defined for the positive and negative infinity.
+         </xs:documentation>
+         <xs:appinfo>
+            <diff>INT</diff>
+            <sch:pattern name="validate INT">
+               <sch:rule abstract="true" id="rule-INT">
+                  <sch:report test="(@value or @nullFlavor) and not(@value and @nullFlavor)"/>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:attribute name="value" use="optional" type="int"/>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="real">
+      <xs:annotation>
+         <xs:documentation>
+            Fractional numbers. Typically used whenever quantities
+            are measured, estimated, or computed from other real
+            numbers.  The typical representation is decimal, where
+            the number of significant decimal digits is known as the
+            precision. Real numbers are needed beyond integers
+            whenever quantities of the real world are measured,
+            estimated, or computed from other real numbers. The term
+            "Real number" in this specification is used to mean
+            that fractional values are covered without necessarily
+            implying the full set of the mathematical real numbers.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="xs:decimal xs:double"/>
+   </xs:simpleType>
+   <xs:complexType name="REAL">
+      <xs:annotation>
+         <xs:documentation>
+            Fractional numbers. Typically used whenever quantities
+            are measured, estimated, or computed from other real
+            numbers.  The typical representation is decimal, where
+            the number of significant decimal digits is known as the
+            precision. Real numbers are needed beyond integers
+            whenever quantities of the real world are measured,
+            estimated, or computed from other real numbers. The term
+            "Real number" in this specification is used to mean
+            that fractional values are covered without necessarily
+            implying the full set of the mathematical real numbers.
+         </xs:documentation>
+         <xs:appinfo>
+            <diff>REAL</diff>
+            <sch:pattern name="validate REAL">
+               <sch:rule abstract="true" id="rule-REAL">
+                  <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)"/>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:attribute name="value" use="optional" type="real"/>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PQR">
+      <xs:annotation>
+         <xs:documentation>
+            A representation of a physical quantity in a unit from
+            any code system. Used to show alternative representation
+            for a physical quantity.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="CV">
+            <xs:attribute name="value" type="real" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The magnitude of the measurement value in terms of
+                     the unit specified in the code.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PQ">
+      <xs:annotation>
+         <xs:documentation>
+            A dimensioned quantity expressing the result of a
+            measurement act.
+        </xs:documentation>
+         <xs:appinfo>
+            <diff>PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:sequence>
+               <xs:element name="translation" type="PQR" minOccurs="0" maxOccurs="unbounded">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An alternative representation of the same physical
+                        quantity expressed in a different unit, of a different
+                        unit code system and possibly with a different value.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="value" type="real" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The magnitude of the quantity measured in terms of
+                     the unit.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="unit" type="cs" use="optional" default="1">
+               <xs:annotation>
+                  <xs:documentation>
+                     The unit of measure specified in the Unified Code for
+                     Units of Measure (UCUM)
+                     [http://aurora.rg.iupui.edu/UCUM].
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="MO">
+      <xs:annotation>
+         <xs:documentation>
+            A monetary amount is a quantity expressing the amount of
+            money in some currency. Currencies are the units in which
+            monetary amounts are denominated in different economic
+            regions. While the monetary amount is a single kind of
+            quantity (money) the exchange rates between the different
+            units are variable.  This is the principle difference
+            between physical quantity and monetary amounts, and the
+            reason why currency units are not physical units.
+         </xs:documentation>
+         <xs:appinfo>
+            <diff>MO</diff>
+            <sch:pattern name="validate MO">
+               <sch:rule abstract="true" id="rule-MO">
+                  <sch:report test="not(@nullFlavor and (@value or @currency))"/>
+               </sch:rule>
+            </sch:pattern>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:attribute name="value" type="real" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The magnitude of the monetary amount in terms of the
+                     currency unit.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="currency" type="cs" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The currency unit as defined in ISO 4217.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="RTO">
+      <xs:annotation>
+         <xs:documentation>
+            A quantity constructed as the quotient of a numerator
+            quantity divided by a denominator quantity. Common
+            factors in the numerator and denominator are not
+            automatically cancelled out.  RTO supports titers
+            (e.g., "1:128") and other quantities produced by
+            laboratories that truly represent ratios. Ratios are
+            not simply "structured numerics", particularly blood
+            pressure measurements (e.g. "120/60") are not ratios.
+            In many cases REAL should be used instead
+            of RTO.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="RTO_QTY_QTY"/>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="probability">
+      <xs:annotation>
+         <xs:documentation>
+               The probability assigned to the value, a decimal number
+               between 0 (very uncertain) and 1 (certain).
+            </xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="xs:double">
+         <xs:minInclusive value="0.0"/>
+         <xs:maxInclusive value="1.0"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:complexType name="EIVL.event">
+      <xs:annotation>
+         <xs:documentation>
+                        A code for a common (periodical) activity of daily
+                        living based on which the event related periodic
+                        interval is specified.
+                     </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:restriction base="CE">
+            <xs:attribute name="code" type="TimingEvent" use="optional"/>
+            <xs:attribute name="codeSystem" type="uid" fixed="2.16.840.1.113883.5.139"/>
+            <xs:attribute name="codeSystemName" type="st" fixed="TimingEvent"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+<!--
+      Instantiated templates
+    -->
+   <xs:complexType name="SXCM_TS">
+      <xs:complexContent>
+         <xs:extension base="TS">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="set_TelecommunicationAddressUse">
+      <xs:list itemType="TelecommunicationAddressUse"/>
+   </xs:simpleType>
+   <xs:simpleType name="set_PostalAddressUse">
+      <xs:list itemType="PostalAddressUse"/>
+   </xs:simpleType>
+   <xs:simpleType name="set_EntityNamePartQualifier">
+      <xs:list itemType="EntityNamePartQualifier"/>
+   </xs:simpleType>
+   <xs:complexType name="IVL_TS">
+      <xs:complexContent>
+         <xs:extension base="SXCM_TS">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_TS">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_TS">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_TS">
+      <xs:complexContent>
+         <xs:extension base="TS">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="set_EntityNameUse">
+      <xs:list itemType="EntityNameUse"/>
+   </xs:simpleType>
+   <xs:complexType name="RTO_QTY_QTY">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>RTO_QTY_QTY</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:sequence>
+               <xs:element name="numerator" type="QTY">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that is being divided in the ratio.  The
+                        default is the integer number 1 (one).
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="denominator" type="QTY">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that devides the numerator in the ratio.
+                        The default is the integer number 1 (one).
+                        The denominator must not be zero.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes.xsd
new file mode 100644
index 0000000..d02700a
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/datatypes.xsd
@@ -0,0 +1,1378 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- $Id: $ --><!--
+    This schema is generated from a Generic Schema Definition (GSD)
+    by gsd2xsl. Do not edit this file.
+  -->
+<xs:schema xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+   <xs:annotation>
+      <xs:documentation>
+           Copyright (c) 2001, 2002, 2003, 2004, 2005 Health Level Seven.
+           All rights reserved.
+
+           Redistribution and use in source and binary forms, with or
+           without modification, are permitted provided that the following
+           conditions are met:
+           1. Redistributions of source code must retain the above
+              copyright notice, this list of conditions and the following
+              disclaimer.
+           2. Redistributions in binary form must reproduce the above
+              copyright notice, this list of conditions and the following
+              disclaimer in the documentation and/or other materials
+              provided with the distribution.
+           3. All advertising materials mentioning features or use of this
+              software must display the following acknowledgement:
+           
+           This product includes software developed by Health Level Seven.
+ 
+           THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS
+           ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+           NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+           FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
+           SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+           INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+           DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+           GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+           INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+           WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+           NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+           OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+           DAMAGE.
+        
+           Generated by $Id: gsd2xsd.xsl,v 1.4 2005/04/17 03:20:15 lmckenzi Exp $
+</xs:documentation>
+   </xs:annotation>
+   <xs:include schemaLocation="datatypes-base.xsd"/>
+<!--
+      Instantiated templates
+    -->
+   <xs:complexType name="PIVL_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_TS">
+            <xs:sequence>
+               <xs:element name="phase" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A prototype of the repeating interval specifying the
+                        duration of each occurrence and anchors the periodic
+                        interval sequence at a certain point in time.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="period" minOccurs="0" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A time duration specifying a reciprocal measure of
+                        the frequency at which the periodic interval repeats.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="alignment" type="CalendarCycle" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies if and how the repetitions are aligned to
+                     the cycles of the underlying calendar (e.g., to
+                     distinguish every 30 days from "the 5th of every
+                     month".) A non-aligned periodic interval recurs
+                     independently from the calendar. An aligned periodic
+                     interval is synchronized with the calendar.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="institutionSpecified" type="bl" use="optional" default="false">
+               <xs:annotation>
+                  <xs:documentation>
+                     Indicates whether the exact timing is up to the party
+                     executing the schedule (e.g., to distinguish "every 8
+                     hours" from "3 times a day".)
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="EIVL_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_TS">
+            <xs:sequence>
+               <xs:element name="event" type="EIVL.event" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A code for a common (periodical) activity of daily
+                        living based on which the event related periodic
+                        interval is specified.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="offset" minOccurs="0" maxOccurs="1" type="IVL_PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An interval of elapsed time (duration, not absolute
+                        point in time) that marks the offsets for the
+                        beginning, width and end of the event-related periodic
+                        interval measured from the time each such event
+                        actually occurred.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_PQ">
+      <xs:complexContent>
+         <xs:extension base="SXCM_PQ">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_PQ">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_PQ">
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_PQ">
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PPD_TS">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>PPD_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="TS">
+            <xs:sequence>
+               <xs:element name="standardDeviation" minOccurs="0" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The primary measure of variance/uncertainty of the
+                        value (the square root of the sum of the squares of
+                        the differences between all data points and the mean).
+                        The standard deviation is used to normalize the data
+                        for computing the distribution function. Applications
+                        that cannot deal with probability distributions can
+                        still get an idea about the confidence level by looking
+                        at the standard deviation.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="distributionType" type="ProbabilityDistributionType" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying the type of probability distribution.
+                     Possible values are as shown in the attached table.
+                     The NULL value (unknown) for the type code indicates
+                     that the probability distribution type is unknown. In
+                     that case, the standard deviation has the meaning of an
+                     informal guess.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PPD_PQ">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>PPD_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:sequence>
+               <xs:element name="standardDeviation" minOccurs="0" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The primary measure of variance/uncertainty of the
+                        value (the square root of the sum of the squares of
+                        the differences between all data points and the mean).
+                        The standard deviation is used to normalize the data
+                        for computing the distribution function. Applications
+                        that cannot deal with probability distributions can
+                        still get an idea about the confidence level by looking
+                        at the standard deviation.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="distributionType" type="ProbabilityDistributionType" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying the type of probability distribution.
+                     Possible values are as shown in the attached table.
+                     The NULL value (unknown) for the type code indicates
+                     that the probability distribution type is unknown. In
+                     that case, the standard deviation has the meaning of an
+                     informal guess.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PIVL_PPD_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_TS">
+            <xs:sequence>
+               <xs:element name="phase" minOccurs="0" maxOccurs="1" type="IVL_PPD_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A prototype of the repeating interval specifying the
+                        duration of each occurrence and anchors the periodic
+                        interval sequence at a certain point in time.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="period" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A time duration specifying a reciprocal measure of
+                        the frequency at which the periodic interval repeats.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="alignment" type="CalendarCycle" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies if and how the repetitions are aligned to
+                     the cycles of the underlying calendar (e.g., to
+                     distinguish every 30 days from "the 5th of every
+                     month".) A non-aligned periodic interval recurs
+                     independently from the calendar. An aligned periodic
+                     interval is synchronized with the calendar.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="institutionSpecified" type="bl" use="optional" default="false">
+               <xs:annotation>
+                  <xs:documentation>
+                     Indicates whether the exact timing is up to the party
+                     executing the schedule (e.g., to distinguish "every 8
+                     hours" from "3 times a day".)
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_PPD_TS">
+      <xs:complexContent>
+         <xs:extension base="PPD_TS">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_PPD_TS">
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_TS">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_PPD_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_TS">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_PPD_TS">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="PPD_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_PPD_TS">
+      <xs:complexContent>
+         <xs:extension base="PPD_TS">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="EIVL_PPD_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_TS">
+            <xs:sequence>
+               <xs:element name="event" type="EIVL.event" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A code for a common (periodical) activity of daily
+                        living based on which the event related periodic
+                        interval is specified.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="offset" minOccurs="0" maxOccurs="1" type="IVL_PPD_PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An interval of elapsed time (duration, not absolute
+                        point in time) that marks the offsets for the
+                        beginning, width and end of the event-related periodic
+                        interval measured from the time each such event
+                        actually occurred.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_PPD_PQ">
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_PQ">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_PPD_PQ">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_PPD_PQ">
+      <xs:complexContent>
+         <xs:extension base="PPD_PQ">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_PPD_PQ">
+      <xs:complexContent>
+         <xs:extension base="PPD_PQ">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXPR_TS">
+      <xs:complexContent>
+         <xs:extension base="SXCM_TS">
+            <xs:sequence>
+               <xs:element name="comp" minOccurs="2" maxOccurs="unbounded" type="SXCM_TS">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_CD">
+      <xs:complexContent>
+         <xs:extension base="CD">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_MO">
+      <xs:complexContent>
+         <xs:extension base="MO">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_INT">
+      <xs:complexContent>
+         <xs:extension base="INT">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_REAL">
+      <xs:complexContent>
+         <xs:extension base="REAL">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_INT">
+      <xs:complexContent>
+         <xs:extension base="SXCM_INT">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="INT">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_INT">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_INT">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_INT">
+      <xs:complexContent>
+         <xs:extension base="INT">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_REAL">
+      <xs:complexContent>
+         <xs:extension base="SXCM_REAL">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="REAL">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_REAL">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_REAL">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_REAL">
+      <xs:complexContent>
+         <xs:extension base="REAL">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_MO">
+      <xs:complexContent>
+         <xs:extension base="SXCM_MO">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="MO">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_MO">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_MO">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_MO">
+      <xs:complexContent>
+         <xs:extension base="MO">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="HXIT_PQ">
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:sequence>
+               <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The time interval during which the given information
+                        was, is, or is expected to be valid. The interval can
+                        be open or closed, as well as infinite or undefined on
+                        either side.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="HXIT_CE">
+      <xs:complexContent>
+         <xs:extension base="CE">
+            <xs:sequence>
+               <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The time interval during which the given information
+                        was, is, or is expected to be valid. The interval can
+                        be open or closed, as well as infinite or undefined on
+                        either side.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="BXIT_CD">
+      <xs:complexContent>
+         <xs:extension base="CD">
+            <xs:attribute name="qty" type="int" use="optional" default="1">
+               <xs:annotation>
+                  <xs:documentation>
+                     The quantity in which the bag item occurs in its containing bag.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="BXIT_IVL_PQ">
+      <xs:complexContent>
+         <xs:extension base="IVL_PQ">
+            <xs:attribute name="qty" type="int" use="optional" default="1">
+               <xs:annotation>
+                  <xs:documentation>
+                     The quantity in which the bag item occurs in its containing bag.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SLIST_PQ">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="origin" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The origin of the list item value scale, i.e., the
+                     physical quantity that a zero-digit in the sequence
+                     would represent.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="scale" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A ratio-scale quantity that is factored out of the
+                     digit sequence.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="digits" minOccurs="1" maxOccurs="1" type="list_int">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A sequence of raw digits for the sample values. This is
+                     typically the raw output of an A/D converter.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="list_int">
+      <xs:list itemType="int"/>
+   </xs:simpleType>
+   <xs:complexType name="SLIST_TS">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="origin" minOccurs="1" maxOccurs="1" type="TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The origin of the list item value scale, i.e., the
+                     physical quantity that a zero-digit in the sequence
+                     would represent.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="scale" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A ratio-scale quantity that is factored out of the
+                     digit sequence.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="digits" minOccurs="1" maxOccurs="1" type="list_int">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A sequence of raw digits for the sample values. This is
+                     typically the raw output of an A/D converter.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="GLIST_TS">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="head" minOccurs="1" maxOccurs="1" type="TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                     This is the start-value of the generated list. 
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="increment" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The difference between one value and its previous
+                     different value. For example, to generate the sequence
+                     (1; 4; 7; 10; 13; ...) the increment is 3; likewise to
+                     generate the sequence (1; 1; 4; 4; 7; 7; 10; 10; 13;
+                     13; ...) the increment is also 3.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="period" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If non-NULL, specifies that the sequence alternates,
+                     i.e., after this many increments, the sequence item
+                     values roll over to start from the initial sequence
+                     item value. For example, the sequence (1; 2; 3; 1; 2;
+                     3; 1; 2; 3; ...) has period 3; also the sequence
+                     (1; 1; 2; 2; 3; 3; 1; 1; 2; 2; 3; 3; ...) has period
+                     3 too.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="denominator" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The integer by which the index for the sequence is
+                     divided, effectively the number of times the sequence
+                     generates the same sequence item value before
+                     incrementing to the next sequence item value. For
+                     example, to generate the sequence (1; 1; 1; 2; 2; 2; 3; 3;
+                     3; ...)  the denominator is 3.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="GLIST_PQ">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="head" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     This is the start-value of the generated list. 
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="increment" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The difference between one value and its previous
+                     different value. For example, to generate the sequence
+                     (1; 4; 7; 10; 13; ...) the increment is 3; likewise to
+                     generate the sequence (1; 1; 4; 4; 7; 7; 10; 10; 13;
+                     13; ...) the increment is also 3.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="period" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If non-NULL, specifies that the sequence alternates,
+                     i.e., after this many increments, the sequence item
+                     values roll over to start from the initial sequence
+                     item value. For example, the sequence (1; 2; 3; 1; 2;
+                     3; 1; 2; 3; ...) has period 3; also the sequence
+                     (1; 1; 2; 2; 3; 3; 1; 1; 2; 2; 3; 3; ...) has period
+                     3 too.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="denominator" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The integer by which the index for the sequence is
+                     divided, effectively the number of times the sequence
+                     generates the same sequence item value before
+                     incrementing to the next sequence item value. For
+                     example, to generate the sequence (1; 1; 1; 2; 2; 2; 3; 3;
+                     3; ...)  the denominator is 3.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="RTO_PQ_PQ">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>RTO_PQ_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:sequence>
+               <xs:element name="numerator" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that is being divided in the ratio.  The
+                        default is the integer number 1 (one).
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="denominator" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that devides the numerator in the ratio.
+                        The default is the integer number 1 (one).
+                        The denominator must not be zero.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="RTO_MO_PQ">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>RTO_MO_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:sequence>
+               <xs:element name="numerator" type="MO">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that is being divided in the ratio.  The
+                        default is the integer number 1 (one).
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="denominator" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that devides the numerator in the ratio.
+                        The default is the integer number 1 (one).
+                        The denominator must not be zero.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="UVP_TS">
+      <xs:complexContent>
+         <xs:extension base="TS">
+            <xs:attribute name="probability" type="probability" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+               The probability assigned to the value, a decimal number
+               between 0 (very uncertain) and 1 (certain).
+            </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/infrastructureRoot.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/infrastructureRoot.xsd
new file mode 100644
index 0000000..5169d5f
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/infrastructureRoot.xsd
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:hl7-org:v3" elementFormDefault="qualified" xmlns:mif="urn:hl7-org:v3/mif">
+   <xs:annotation xmlns="urn:hl7-org:v3">
+      <xs:documentation>Source Information
+     Rendered by: RoseTree 3.0.8
+     Rendered on: 7/30/2005 T24:53:20
+This model was rendered into XML using software provided to HL7 by Beeler Consulting LLC.
+ Transform: $RCSfile: infrastructureRoot.xsd,v $ $Revision: 1.3 $ $Date: 2005/08/24 19:54:59 $
+ Generated using schema builder version: 2.0
+ RIM MIF Infrastructure Root to Schema Transform: $Id: infrastructureRoot.xsd,v 1.3 2005/08/24 19:54:59 mcraig Exp $
+  Static MIF to Schema Transform: $Id: infrastructureRoot.xsd,v 1.3 2005/08/24 19:54:59 mcraig Exp $
+  Package Id Conversion: $Id: infrastructureRoot.xsd,v 1.3 2005/08/24 19:54:59 mcraig Exp $</xs:documentation>
+   </xs:annotation>
+   <xs:include schemaLocation="../coreschemas/datatypes.xsd"/>
+   <xs:include schemaLocation="../coreschemas/voc.xsd"/>
+   <xs:complexType name="all.InfrastructureRoot.typeId" xmlns="urn:hl7-org:v3">
+      <xs:complexContent>
+         <xs:restriction base="II">
+            <xs:attribute name="root" type="uid" fixed="2.16.840.1.113883.1.3" use="required"/>
+            <xs:attribute name="extension" type="st" use="required"/>
+         </xs:restriction>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="all.InfrastructureRoot.templateId" xmlns="urn:hl7-org:v3">
+      <xs:complexContent>
+         <xs:extension base="II">
+            <xs:attribute name="unsorted" type="xs:boolean" default="false"/>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:group name="InfrastructureRootElements">
+      <xs:sequence>
+         <xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded" xmlns="urn:hl7-org:v3"/>
+         <xs:element name="typeId" type="all.InfrastructureRoot.typeId" minOccurs="0" maxOccurs="1" xmlns="urn:hl7-org:v3"/>
+         <xs:element name="templateId" type="all.InfrastructureRoot.templateId" minOccurs="0" maxOccurs="unbounded" xmlns="urn:hl7-org:v3"/>
+      </xs:sequence>
+   </xs:group>
+   <xs:attributeGroup name="InfrastructureRootAttributes">
+      <xs:attribute name="nullFlavor" type="NullFlavor" use="optional" xmlns="urn:hl7-org:v3"/>
+   </xs:attributeGroup>
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/voc.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/voc.xsd
new file mode 100644
index 0000000..2753775
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/coreschemas/voc.xsd
@@ -0,0 +1,2194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mif="urn:hl7-org:v3/mif">
+   <xs:annotation>
+      <xs:documentation> $Id: Vocabulary.xml,v 1.1 2005/08/25 11:33:46 mcraig Exp $ 
+RoseTree XML to Schema: $Id: VocabXMLtoXSD.xsl,v 1.6 2005/05/24 00:14:18 lmckenzi Exp $</xs:documentation>
+   </xs:annotation>
+   <xs:include schemaLocation="datatypes.xsd"/>
+   <xs:simpleType name="Classes">
+      <xs:restriction base="cs"/>
+   </xs:simpleType>
+   <xs:annotation>
+      <xs:documentation>The following types are used internally in data types</xs:documentation>
+   </xs:annotation>
+   <xs:simpleType name="AddressPartType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10642 (C-0-D10642-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AdditionalLocator DeliveryAddressLine StreetAddressLine">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CAR"/>
+               <xs:enumeration value="CEN"/>
+               <xs:enumeration value="CNT"/>
+               <xs:enumeration value="CPA"/>
+               <xs:enumeration value="CTY"/>
+               <xs:enumeration value="DEL"/>
+               <xs:enumeration value="POB"/>
+               <xs:enumeration value="PRE"/>
+               <xs:enumeration value="STA"/>
+               <xs:enumeration value="ZIP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="AdditionalLocator">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10651 (C-0-D10642-V10651-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ADL"/>
+         <xs:enumeration value="UNID"/>
+         <xs:enumeration value="UNIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="DeliveryAddressLine">
+      <xs:annotation>
+         <xs:documentation>specDomain: V17887 (C-0-D10642-V17887-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DAL"/>
+         <xs:enumeration value="DINST"/>
+         <xs:enumeration value="DINSTA"/>
+         <xs:enumeration value="DINSTQ"/>
+         <xs:enumeration value="DMOD"/>
+         <xs:enumeration value="DMODID"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="StreetAddressLine">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14822 (C-0-D10642-V14822-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="BuildingNumber StreetName">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="SAL"/>
+               <xs:enumeration value="DIR"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="BuildingNumber">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10649 (C-0-D10642-V14822-V10649-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="BNR"/>
+         <xs:enumeration value="BNN"/>
+         <xs:enumeration value="BNS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="StreetName">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10648 (C-0-D10642-V14822-V10648-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="STR"/>
+         <xs:enumeration value="STB"/>
+         <xs:enumeration value="STTYP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="CalendarCycle">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10684 (C-0-D10684-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="CalendarCycleOneLetter CalendarCycleTwoLetter"/>
+   </xs:simpleType>
+   <xs:simpleType name="CalendarCycleOneLetter">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10701 (C-0-D10684-V10701-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="D"/>
+         <xs:enumeration value="H"/>
+         <xs:enumeration value="J"/>
+         <xs:enumeration value="M"/>
+         <xs:enumeration value="N"/>
+         <xs:enumeration value="S"/>
+         <xs:enumeration value="W"/>
+         <xs:enumeration value="Y"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="CalendarCycleTwoLetter">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10685 (C-0-D10684-V10685-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="GregorianCalendarCycle">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CD"/>
+               <xs:enumeration value="CH"/>
+               <xs:enumeration value="CM"/>
+               <xs:enumeration value="CN"/>
+               <xs:enumeration value="CS"/>
+               <xs:enumeration value="CW"/>
+               <xs:enumeration value="CY"/>
+               <xs:enumeration value="DM"/>
+               <xs:enumeration value="DW"/>
+               <xs:enumeration value="DY"/>
+               <xs:enumeration value="HD"/>
+               <xs:enumeration value="MY"/>
+               <xs:enumeration value="NH"/>
+               <xs:enumeration value="SN"/>
+               <xs:enumeration value="WY"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="GregorianCalendarCycle">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10758 (C-0-D10684-V10685-V10758-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs"/>
+   </xs:simpleType>
+   <xs:simpleType name="CompressionAlgorithm">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10620 (C-0-D10620-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DF"/>
+         <xs:enumeration value="GZ"/>
+         <xs:enumeration value="Z"/>
+         <xs:enumeration value="ZL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="Currency">
+      <xs:annotation>
+         <xs:documentation>vocSet: D17388 (C-0-D17388-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ARS"/>
+         <xs:enumeration value="AUD"/>
+         <xs:enumeration value="BRL"/>
+         <xs:enumeration value="CAD"/>
+         <xs:enumeration value="CHF"/>
+         <xs:enumeration value="CLF"/>
+         <xs:enumeration value="CNY"/>
+         <xs:enumeration value="DEM"/>
+         <xs:enumeration value="ESP"/>
+         <xs:enumeration value="EUR"/>
+         <xs:enumeration value="FIM"/>
+         <xs:enumeration value="FRF"/>
+         <xs:enumeration value="GBP"/>
+         <xs:enumeration value="ILS"/>
+         <xs:enumeration value="INR"/>
+         <xs:enumeration value="JPY"/>
+         <xs:enumeration value="KRW"/>
+         <xs:enumeration value="MXN"/>
+         <xs:enumeration value="NLG"/>
+         <xs:enumeration value="NZD"/>
+         <xs:enumeration value="PHP"/>
+         <xs:enumeration value="RUR"/>
+         <xs:enumeration value="THB"/>
+         <xs:enumeration value="TRL"/>
+         <xs:enumeration value="TWD"/>
+         <xs:enumeration value="USD"/>
+         <xs:enumeration value="ZAR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNamePartQualifier">
+      <xs:annotation>
+         <xs:documentation>vocSet: D15888 (C-0-D15888-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="OrganizationNamePartQualifier PersonNamePartQualifier"/>
+   </xs:simpleType>
+   <xs:simpleType name="OrganizationNamePartQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V15889 (C-0-D15888-V15889-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10659 (C-0-D15888-V10659-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="PersonNamePartAffixTypes PersonNamePartChangeQualifier PersonNamePartMiscQualifier">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="IN"/>
+               <xs:enumeration value="TITLE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartAffixTypes">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10666 (C-0-D15888-V10659-V10666-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AC"/>
+         <xs:enumeration value="NB"/>
+         <xs:enumeration value="PR"/>
+         <xs:enumeration value="VV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartChangeQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10660 (C-0-D15888-V10659-V10660-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AD"/>
+         <xs:enumeration value="BR"/>
+         <xs:enumeration value="SP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartMiscQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10671 (C-0-D15888-V10659-V10671-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNamePartType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D15880 (C-0-D15880-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="x_OrganizationNamePartType x_PersonNamePartType">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DEL"/>
+               <xs:enumeration value="FAM"/>
+               <xs:enumeration value="GIV"/>
+               <xs:enumeration value="PFX"/>
+               <xs:enumeration value="SFX"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="x_OrganizationNamePartType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V15881 (C-0-D15880-V15881-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEL"/>
+         <xs:enumeration value="PFX"/>
+         <xs:enumeration value="SFX"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_PersonNamePartType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10653 (C-0-D15880-V10653-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEL"/>
+         <xs:enumeration value="FAM"/>
+         <xs:enumeration value="GIV"/>
+         <xs:enumeration value="PFX"/>
+         <xs:enumeration value="SFX"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNameUse">
+      <xs:annotation>
+         <xs:documentation>vocSet: D15913 (C-0-D15913-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityNameSearchUse NameRepresentationUse OrganizationNameUse PersonNameUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="C"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="OrganizationNameUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V15914 (C-0-D15913-V15914-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityNameSearchUse NameRepresentationUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="C"/>
+               <xs:enumeration value="L"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNameUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V200 (C-0-D15913-V200-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityNameSearchUse NamePseudonymUse NameRepresentationUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="A"/>
+               <xs:enumeration value="ASGN"/>
+               <xs:enumeration value="C"/>
+               <xs:enumeration value="I"/>
+               <xs:enumeration value="L"/>
+               <xs:enumeration value="R"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNameSearchUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19619 (C-0-D15913-V200-V19619-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SRCH"/>
+         <xs:enumeration value="PHON"/>
+         <xs:enumeration value="SNDX"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="NamePseudonymUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19591 (C-0-D15913-V200-V19591-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="P"/>
+         <xs:enumeration value="A"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="IntegrityCheckAlgorithm">
+      <xs:annotation>
+         <xs:documentation>vocSet: D17385 (C-0-D17385-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SHA-1"/>
+         <xs:enumeration value="SHA-256"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="MediaType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D14824 (C-0-D14824-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ApplicationMediaType AudioMediaType ImageMediaType ModelMediaType MultipartMediaType TextMediaType VideoMediaType"/>
+   </xs:simpleType>
+   <xs:simpleType name="ApplicationMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14832 (C-0-D14824-V14832-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="application/dicom"/>
+         <xs:enumeration value="application/msword"/>
+         <xs:enumeration value="application/pdf"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="AudioMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14835 (C-0-D14824-V14835-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="audio/basic"/>
+         <xs:enumeration value="audio/k32adpcm"/>
+         <xs:enumeration value="audio/mpeg"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ImageMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14839 (C-0-D14824-V14839-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="image/g3fax"/>
+         <xs:enumeration value="image/gif"/>
+         <xs:enumeration value="image/jpeg"/>
+         <xs:enumeration value="image/png"/>
+         <xs:enumeration value="image/tiff"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ModelMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14848 (C-0-D14824-V14848-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="model/vrml"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="MultipartMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14850 (C-0-D14824-V14850-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="multipart/x-hl7-cda-level1"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TextMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14825 (C-0-D14824-V14825-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="text/html"/>
+         <xs:enumeration value="text/plain"/>
+         <xs:enumeration value="text/rtf"/>
+         <xs:enumeration value="text/sgml"/>
+         <xs:enumeration value="text/x-hl7-ft"/>
+         <xs:enumeration value="text/xml"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="VideoMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14845 (C-0-D14824-V14845-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="video/mpeg"/>
+         <xs:enumeration value="video/x-avi"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PostalAddressUse">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10637 (C-0-D10637-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AddressUse NameRepresentationUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="PHYS"/>
+               <xs:enumeration value="PST"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="NameRepresentationUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V17860 (C-0-D10637-V17860-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ABC"/>
+         <xs:enumeration value="IDE"/>
+         <xs:enumeration value="SYL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ProbabilityDistributionType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10747 (C-0-D10747-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="B"/>
+         <xs:enumeration value="E"/>
+         <xs:enumeration value="F"/>
+         <xs:enumeration value="G"/>
+         <xs:enumeration value="LN"/>
+         <xs:enumeration value="N"/>
+         <xs:enumeration value="T"/>
+         <xs:enumeration value="U"/>
+         <xs:enumeration value="X2"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="SetOperator">
+      <xs:annotation>
+         <xs:documentation>vocSet: D17416 (C-0-D17416-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="A"/>
+         <xs:enumeration value="E"/>
+         <xs:enumeration value="H"/>
+         <xs:enumeration value="I"/>
+         <xs:enumeration value="P"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TelecommunicationAddressUse">
+      <xs:annotation>
+         <xs:documentation>vocSet: D201 (C-0-D201-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AddressUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="AS"/>
+               <xs:enumeration value="EC"/>
+               <xs:enumeration value="MC"/>
+               <xs:enumeration value="PG"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="AddressUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V190 (C-0-D201-V190-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="HomeAddressUse WorkPlaceAddressUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="BAD"/>
+               <xs:enumeration value="TMP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="HomeAddressUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10628 (C-0-D201-V190-V10628-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="H"/>
+         <xs:enumeration value="HP"/>
+         <xs:enumeration value="HV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="WorkPlaceAddressUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19613 (C-0-D201-V190-V19613-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="WP"/>
+         <xs:enumeration value="DIR"/>
+         <xs:enumeration value="PUB"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TimingEvent">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10706 (C-0-D10706-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AC"/>
+         <xs:enumeration value="ACD"/>
+         <xs:enumeration value="ACM"/>
+         <xs:enumeration value="ACV"/>
+         <xs:enumeration value="HS"/>
+         <xs:enumeration value="IC"/>
+         <xs:enumeration value="ICD"/>
+         <xs:enumeration value="ICM"/>
+         <xs:enumeration value="ICV"/>
+         <xs:enumeration value="PC"/>
+         <xs:enumeration value="PCD"/>
+         <xs:enumeration value="PCM"/>
+         <xs:enumeration value="PCV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="URLScheme">
+      <xs:annotation>
+         <xs:documentation>vocSet: D14866 (C-0-D14866-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="fax"/>
+         <xs:enumeration value="file"/>
+         <xs:enumeration value="ftp"/>
+         <xs:enumeration value="http"/>
+         <xs:enumeration value="mailto"/>
+         <xs:enumeration value="mllp"/>
+         <xs:enumeration value="modem"/>
+         <xs:enumeration value="nfs"/>
+         <xs:enumeration value="tel"/>
+         <xs:enumeration value="telnet"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:annotation>
+      <xs:documentation>The following types are used for structural RIM attributes</xs:documentation>
+   </xs:annotation>
+   <xs:simpleType name="ActClass">
+      <xs:annotation>
+         <xs:documentation>vocSet: D11527 (C-0-D11527-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassRoot"/>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassRoot">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13856 (C-0-D11527-V13856-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassContract ActClassControlAct ActClassObservation ActClassSupply ActContainer x_ActClassDocumentEntryAct x_ActClassDocumentEntryOrganizer">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ACT"/>
+               <xs:enumeration value="ACCM"/>
+               <xs:enumeration value="ACCT"/>
+               <xs:enumeration value="ACSN"/>
+               <xs:enumeration value="ADJUD"/>
+               <xs:enumeration value="CONS"/>
+               <xs:enumeration value="CONTREG"/>
+               <xs:enumeration value="CTTEVENT"/>
+               <xs:enumeration value="DISPACT"/>
+               <xs:enumeration value="ENC"/>
+               <xs:enumeration value="INC"/>
+               <xs:enumeration value="INFRM"/>
+               <xs:enumeration value="INVE"/>
+               <xs:enumeration value="LIST"/>
+               <xs:enumeration value="MPROT"/>
+               <xs:enumeration value="PCPR"/>
+               <xs:enumeration value="PROC"/>
+               <xs:enumeration value="REG"/>
+               <xs:enumeration value="REV"/>
+               <xs:enumeration value="SBADM"/>
+               <xs:enumeration value="SPCTRT"/>
+               <xs:enumeration value="SUBST"/>
+               <xs:enumeration value="TRNS"/>
+               <xs:enumeration value="VERIF"/>
+               <xs:enumeration value="XACT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassContract">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14002 (C-0-D11527-V13856-V14002-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassFinancialContract">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CNTRCT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassFinancialContract">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14003 (C-0-D11527-V13856-V14002-V14003-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="FCNTRCT"/>
+         <xs:enumeration value="COV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassControlAct">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11534 (C-0-D11527-V13856-V11534-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CACT"/>
+         <xs:enumeration value="ACTN"/>
+         <xs:enumeration value="INFO"/>
+         <xs:enumeration value="STC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassObservation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11529 (C-0-D11527-V13856-V11529-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassCondition ActClassObservationSeries ActClassROI">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="OBS"/>
+               <xs:enumeration value="ALRT"/>
+               <xs:enumeration value="CLNTRL"/>
+               <xs:enumeration value="CNOD"/>
+               <xs:enumeration value="DGIMG"/>
+               <xs:enumeration value="INVSTG"/>
+               <xs:enumeration value="SPCOBS"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassCondition">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19580 (C-0-D11527-V13856-V11529-V19580-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassPublicHealthCase">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="COND"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassPublicHealthCase">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11530 (C-0-D11527-V13856-V11529-V19580-V11530-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CASE"/>
+         <xs:enumeration value="OUTB"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassObservationSeries">
+      <xs:annotation>
+         <xs:documentation>specDomain: V18875 (C-0-D11527-V13856-V11529-V18875-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="OBSSER"/>
+         <xs:enumeration value="OBSCOR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassROI">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V17893 (C-0-D11527-V13856-V11529-V17893-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ROIBND"/>
+         <xs:enumeration value="ROIOVL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassSupply">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11535 (C-0-D11527-V13856-V11535-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPLY"/>
+         <xs:enumeration value="DIET"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActContainer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19445 (C-0-D11527-V13856-V19445-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassComposition ActClassEntry ActClassExtract ActClassOrganizer">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="FOLDER"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassComposition">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19442 (C-0-D11527-V13856-V19445-V19442-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassDocument">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="COMPOSITION"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassDocument">
+      <xs:annotation>
+         <xs:documentation>specDomain: V18938 (C-0-D11527-V13856-V19445-V19442-V18938-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClinicalDocument">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DOC"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClinicalDocument">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13948 (C-0-D11527-V13856-V19445-V19442-V18938-V13948-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DOCCLIN"/>
+         <xs:enumeration value="CDALVLONE"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassEntry">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19444 (C-0-D11527-V13856-V19445-V19444-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ENTRY"/>
+         <xs:enumeration value="BATTERY"/>
+         <xs:enumeration value="CLUSTER"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassExtract">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19441 (C-0-D11527-V13856-V19445-V19441-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EXTRACT"/>
+         <xs:enumeration value="EHR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassOrganizer">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19443 (C-0-D11527-V13856-V19445-V19443-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ORGANIZER"/>
+         <xs:enumeration value="CATEGORY"/>
+         <xs:enumeration value="DOCBODY"/>
+         <xs:enumeration value="DOCSECT"/>
+         <xs:enumeration value="TOPIC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActClassDocumentEntryAct">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19604 (C-0-D11527-V13856-V19604-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ACT"/>
+         <xs:enumeration value="ACCM"/>
+         <xs:enumeration value="CONS"/>
+         <xs:enumeration value="CTTEVENT"/>
+         <xs:enumeration value="INC"/>
+         <xs:enumeration value="INFRM"/>
+         <xs:enumeration value="PCPR"/>
+         <xs:enumeration value="REG"/>
+         <xs:enumeration value="SPCTRT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActClassDocumentEntryOrganizer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19603 (C-0-D11527-V13856-V19603-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="BATTERY"/>
+         <xs:enumeration value="CLUSTER"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActMood">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10196 (C-0-D10196-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActMoodCompletionTrack ActMoodPredicate x_ActMoodDefEvn x_ActMoodDefEvnRqoPrmsPrp x_ActMoodDocumentObservation x_ActMoodEvnOrdPrmsPrp x_ActMoodIntentEvent x_ActMoodOrdPrms x_ActMoodOrdPrmsEvn x_ActMoodRqoPrpAptArq x_DocumentActMood x_DocumentEncounterMood x_DocumentProcedureMood x_DocumentSubstanceMood"/>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodCompletionTrack">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10197 (C-0-D10196-V10197-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActMoodIntent">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DEF"/>
+               <xs:enumeration value="EVN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodPredicate">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10202 (C-0-D10196-V10202-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EVN.CRT"/>
+         <xs:enumeration value="GOL"/>
+         <xs:enumeration value="OPT"/>
+         <xs:enumeration value="PERM"/>
+         <xs:enumeration value="PERMRQ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodDefEvn">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19375 (C-0-D10196-V19375-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodDefEvnRqoPrmsPrp">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19371 (C-0-D10196-V19371-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodDocumentObservation">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18943 (C-0-D10196-V18943-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="GOL"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodEvnOrdPrmsPrp">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18965 (C-0-D10196-V18965-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodIntentEvent">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16742 (C-0-D10196-V16742-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActMoodIntent">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="EVN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodIntent">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10199 (C-0-D10196-V16742-V10199-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+         <xs:enumeration value="SLOT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodOrdPrms">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16735 (C-0-D10196-V16735-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodOrdPrmsEvn">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16730 (C-0-D10196-V16730-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodRqoPrpAptArq">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19372 (C-0-D10196-V19372-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentActMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19458 (C-0-D10196-V19458-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentEncounterMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19459 (C-0-D10196-V19459-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentProcedureMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19460 (C-0-D10196-V19460-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentSubstanceMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19461 (C-0-D10196-V19461-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10317 (C-0-D10317-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipConditional ActRelationshipHasComponent ActRelationshipOutcome ActRelationshipPertains ActRelationshipSequel x_ActRelationshipDocument x_ActRelationshipEntry x_ActRelationshipEntryRelationship x_ActRelationshipExternalReference x_ActRelationshipPatientTransport x_ActRelationshipPertinentInfo"/>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipConditional">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18977 (C-0-D10317-V18977-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipReason">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CIND"/>
+               <xs:enumeration value="PRCN"/>
+               <xs:enumeration value="TRIG"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipReason">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19376 (C-0-D10317-V18977-V19376-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RSON"/>
+         <xs:enumeration value="MITGT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipHasComponent">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10318 (C-0-D10317-V10318-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COMP"/>
+         <xs:enumeration value="ARR"/>
+         <xs:enumeration value="CTRLV"/>
+         <xs:enumeration value="DEP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipOutcome">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10324 (C-0-D10317-V10324-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipObjective">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="OUTC"/>
+               <xs:enumeration value="GOAL"/>
+               <xs:enumeration value="RISK"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipObjective">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19625 (C-0-D10317-V10324-V19625-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="OBJC"/>
+         <xs:enumeration value="OBJF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipPertains">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10329 (C-0-D10317-V10329-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipAccounting TemporallyPertains hasSupport">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="PERT"/>
+               <xs:enumeration value="AUTH"/>
+               <xs:enumeration value="CAUS"/>
+               <xs:enumeration value="COVBY"/>
+               <xs:enumeration value="DRIV"/>
+               <xs:enumeration value="EXPL"/>
+               <xs:enumeration value="ITEMSLOC"/>
+               <xs:enumeration value="LIMIT"/>
+               <xs:enumeration value="MFST"/>
+               <xs:enumeration value="NAME"/>
+               <xs:enumeration value="PREV"/>
+               <xs:enumeration value="REFR"/>
+               <xs:enumeration value="REFV"/>
+               <xs:enumeration value="SUBJ"/>
+               <xs:enumeration value="SUMM"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipAccounting">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14900 (C-0-D10317-V10329-V14900-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipCostTracking ActRelationshipPosting">
+         <xs:simpleType>
+            <xs:restriction base="cs"/>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipCostTracking">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19618 (C-0-D10317-V10329-V14900-V19618-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CHRG"/>
+         <xs:enumeration value="COST"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipPosting">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19617 (C-0-D10317-V10329-V14900-V19617-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CREDIT"/>
+         <xs:enumeration value="DEBIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TemporallyPertains">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19590 (C-0-D10317-V10329-V19590-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SAS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="hasSupport">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10330 (C-0-D10317-V10329-V10330-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="SPRTBND"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipSequel">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10337 (C-0-D10317-V10337-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipExcerpt ActRelationshipFulfills ActRelationshipReplacement">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="SEQL"/>
+               <xs:enumeration value="APND"/>
+               <xs:enumeration value="DOC"/>
+               <xs:enumeration value="ELNK"/>
+               <xs:enumeration value="GEN"/>
+               <xs:enumeration value="GEVL"/>
+               <xs:enumeration value="INST"/>
+               <xs:enumeration value="MTCH"/>
+               <xs:enumeration value="OPTN"/>
+               <xs:enumeration value="REV"/>
+               <xs:enumeration value="UPDT"/>
+               <xs:enumeration value="XFRM"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipExcerpt">
+      <xs:annotation>
+         <xs:documentation>specDomain: V18660 (C-0-D10317-V10337-V18660-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="XCRPT"/>
+         <xs:enumeration value="VRXCRPT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipFulfills">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10342 (C-0-D10317-V10337-V10342-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="FLFS"/>
+         <xs:enumeration value="OCCR"/>
+         <xs:enumeration value="OREF"/>
+         <xs:enumeration value="SCH"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipReplacement">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10338 (C-0-D10317-V10337-V10338-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RPLC"/>
+         <xs:enumeration value="SUCC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipDocument">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V11610 (C-0-D10317-V11610-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RPLC"/>
+         <xs:enumeration value="APND"/>
+         <xs:enumeration value="XFRM"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipEntry">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19446 (C-0-D10317-V19446-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COMP"/>
+         <xs:enumeration value="DRIV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipEntryRelationship">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19447 (C-0-D10317-V19447-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="XCRPT"/>
+         <xs:enumeration value="COMP"/>
+         <xs:enumeration value="RSON"/>
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="CAUS"/>
+         <xs:enumeration value="GEVL"/>
+         <xs:enumeration value="MFST"/>
+         <xs:enumeration value="REFR"/>
+         <xs:enumeration value="SAS"/>
+         <xs:enumeration value="SUBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipExternalReference">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19000 (C-0-D10317-V19000-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="XCRPT"/>
+         <xs:enumeration value="RPLC"/>
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="ELNK"/>
+         <xs:enumeration value="REFR"/>
+         <xs:enumeration value="SUBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipPatientTransport">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19005 (C-0-D10317-V19005-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ARR"/>
+         <xs:enumeration value="DEP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipPertinentInfo">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19562 (C-0-D10317-V19562-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="CAUS"/>
+         <xs:enumeration value="MFST"/>
+         <xs:enumeration value="REFR"/>
+         <xs:enumeration value="SUBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="CommunicationFunctionType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D16031 (C-0-D16031-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RCV"/>
+         <xs:enumeration value="RSP"/>
+         <xs:enumeration value="SND"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControl">
+      <xs:annotation>
+         <xs:documentation>vocSet: D16478 (C-0-D16478-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ContextControlAdditive ContextControlNonPropagating ContextControlOverriding ContextControlPropagating"/>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlAdditive">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18934 (C-0-D16478-V18934-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AN"/>
+         <xs:enumeration value="AP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlNonPropagating">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18937 (C-0-D16478-V18937-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AN"/>
+         <xs:enumeration value="ON"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlOverriding">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18935 (C-0-D16478-V18935-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ON"/>
+         <xs:enumeration value="OP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlPropagating">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18936 (C-0-D16478-V18936-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AP"/>
+         <xs:enumeration value="OP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClass">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10882 (C-0-D10882-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassRoot x_EntityClassDocumentReceiving x_EntityClassPersonOrOrgReceiving"/>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassRoot">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13922 (C-0-D10882-V13922-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassLivingSubject EntityClassMaterial EntityClassOrganization EntityClassPlace">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ENT"/>
+               <xs:enumeration value="HCE"/>
+               <xs:enumeration value="RGRP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassLivingSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10884 (C-0-D10882-V13922-V10884-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassNonPersonLivingSubject">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="LIV"/>
+               <xs:enumeration value="PSN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassNonPersonLivingSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11621 (C-0-D10882-V13922-V10884-V11621-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="NLIV"/>
+         <xs:enumeration value="ANM"/>
+         <xs:enumeration value="MIC"/>
+         <xs:enumeration value="PLNT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassMaterial">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10883 (C-0-D10882-V13922-V10883-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassManufacturedMaterial">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="MAT"/>
+               <xs:enumeration value="CHEM"/>
+               <xs:enumeration value="FOOD"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassManufacturedMaterial">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13934 (C-0-D10882-V13922-V10883-V13934-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassContainer EntityClassDevice">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="MMAT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassContainer">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11622 (C-0-D10882-V13922-V10883-V13934-V11622-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CONT"/>
+         <xs:enumeration value="HOLD"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassDevice">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11623 (C-0-D10882-V13922-V10883-V13934-V11623-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEV"/>
+         <xs:enumeration value="CER"/>
+         <xs:enumeration value="MODDV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassPlace">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10892 (C-0-D10882-V13922-V10892-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PLC"/>
+         <xs:enumeration value="CITY"/>
+         <xs:enumeration value="COUNTRY"/>
+         <xs:enumeration value="COUNTY"/>
+         <xs:enumeration value="PROVINCE"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_EntityClassDocumentReceiving">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19462 (C-0-D10882-V19462-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassOrganization">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="HCE"/>
+               <xs:enumeration value="PSN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="x_EntityClassPersonOrOrgReceiving">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19463 (C-0-D10882-V19463-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassOrganization">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="PSN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassOrganization">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10889 (C-0-D10882-V19463-V10889-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="State">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ORG"/>
+               <xs:enumeration value="PUB"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="State">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19455 (C-0-D10882-V19463-V10889-V19455-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="STATE"/>
+         <xs:enumeration value="NAT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityDeterminer">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10878 (C-0-D10878-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityDeterminerDetermined x_DeterminerInstanceKind">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="INSTANCE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityDeterminerDetermined">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10879 (C-0-D10878-V10879-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="KIND"/>
+         <xs:enumeration value="QUANTIFIED_KIND"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DeterminerInstanceKind">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19647 (C-0-D10878-V19647-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="KIND"/>
+         <xs:enumeration value="INSTANCE"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="NullFlavor">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10609 (C-0-D10609-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="NoInformation">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="NP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="NoInformation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10610 (C-0-D10609-V10610-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="Other Unknown">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="NI"/>
+               <xs:enumeration value="MSK"/>
+               <xs:enumeration value="NA"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="Other">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10616 (C-0-D10609-V10610-V10616-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="OTH"/>
+         <xs:enumeration value="NINF"/>
+         <xs:enumeration value="PINF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="Unknown">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10612 (C-0-D10609-V10610-V10612-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AskedButUnknown">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="UNK"/>
+               <xs:enumeration value="NASK"/>
+               <xs:enumeration value="TRC"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="AskedButUnknown">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10614 (C-0-D10609-V10610-V10612-V10614-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ASKU"/>
+         <xs:enumeration value="NAV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10901 (C-0-D10901-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ParticipationAncillary ParticipationIndirectTarget ParticipationInformationGenerator ParticipationInformationRecipient ParticipationPhysicalPerformer ParticipationTargetDirect ParticipationTargetLocation ParticipationVerifier x_EncounterParticipant x_EncounterPerformerParticipation x_InformationRecipient x_ParticipationAuthorPerformer x_ParticipationEntVrf x_ParticipationPrfEntVrf x_ParticipationVrfRespSprfWit x_ServiceEventPerformer">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CST"/>
+               <xs:enumeration value="RESP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationAncillary">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10247 (C-0-D10901-V10247-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ADM"/>
+         <xs:enumeration value="ATND"/>
+         <xs:enumeration value="CALLBCK"/>
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="DIS"/>
+         <xs:enumeration value="ESC"/>
+         <xs:enumeration value="REF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationIndirectTarget">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19032 (C-0-D10901-V19032-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="IND"/>
+         <xs:enumeration value="BEN"/>
+         <xs:enumeration value="COV"/>
+         <xs:enumeration value="HLD"/>
+         <xs:enumeration value="RCT"/>
+         <xs:enumeration value="RCV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationInformationGenerator">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10251 (C-0-D10901-V10251-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AUT"/>
+         <xs:enumeration value="ENT"/>
+         <xs:enumeration value="INF"/>
+         <xs:enumeration value="WIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationInformationRecipient">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10263 (C-0-D10901-V10263-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="IRCP"/>
+         <xs:enumeration value="NOT"/>
+         <xs:enumeration value="PRCP"/>
+         <xs:enumeration value="REFB"/>
+         <xs:enumeration value="REFT"/>
+         <xs:enumeration value="TRC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationPhysicalPerformer">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10248 (C-0-D10901-V10248-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="DIST"/>
+         <xs:enumeration value="PPRF"/>
+         <xs:enumeration value="SPRF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetDirect">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10286 (C-0-D10901-V10286-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ParticipationTargetDevice ParticipationTargetSubject">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DIR"/>
+               <xs:enumeration value="BBY"/>
+               <xs:enumeration value="CSM"/>
+               <xs:enumeration value="DON"/>
+               <xs:enumeration value="PRD"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetDevice">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10298 (C-0-D10901-V10286-V10298-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEV"/>
+         <xs:enumeration value="NRD"/>
+         <xs:enumeration value="RDV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19584 (C-0-D10901-V10286-V19584-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SBJ"/>
+         <xs:enumeration value="SPC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetLocation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10302 (C-0-D10901-V10302-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LOC"/>
+         <xs:enumeration value="DST"/>
+         <xs:enumeration value="ELOC"/>
+         <xs:enumeration value="ORG"/>
+         <xs:enumeration value="RML"/>
+         <xs:enumeration value="VIA"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationVerifier">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10259 (C-0-D10901-V10259-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="AUTHEN"/>
+         <xs:enumeration value="LA"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_EncounterParticipant">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19605 (C-0-D10901-V19605-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ADM"/>
+         <xs:enumeration value="ATND"/>
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="DIS"/>
+         <xs:enumeration value="REF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_EncounterPerformerParticipation">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16764 (C-0-D10901-V16764-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="SPRF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_InformationRecipient">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19366 (C-0-D10901-V19366-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRCP"/>
+         <xs:enumeration value="TRC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationAuthorPerformer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19080 (C-0-D10901-V19080-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="AUT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationEntVrf">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19600 (C-0-D10901-V19600-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="ENT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationPrfEntVrf">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19601 (C-0-D10901-V19601-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="ENT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationVrfRespSprfWit">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19083 (C-0-D10901-V19083-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="RESP"/>
+         <xs:enumeration value="SPRF"/>
+         <xs:enumeration value="WIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ServiceEventPerformer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19606 (C-0-D10901-V19606-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="PPRF"/>
+         <xs:enumeration value="SPRF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClass">
+      <xs:annotation>
+         <xs:documentation>vocSet: D11555 (C-0-D11555-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassRoot"/>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassRoot">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13940 (C-0-D11555-V13940-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassAssociative RoleClassOntological RoleClassPartitive x_DocumentEntrySubject x_DocumentSubject x_InformationRecipientRole x_RoleClassAccommodationRequestor x_RoleClassCoverage x_RoleClassCoverageInvoice x_RoleClassCredentialedEntity x_RoleClassPayeePolicyRelationship">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ROL"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassAssociative">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19313 (C-0-D11555-V13940-V19313-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassMutualRelationship RoleClassPassive">
+         <xs:simpleType>
+            <xs:restriction base="cs"/>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassMutualRelationship">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19316 (C-0-D11555-V13940-V19313-V19316-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassRelationshipFormal">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CAREGIVER"/>
+               <xs:enumeration value="PRS"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassRelationshipFormal">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10416 (C-0-D11555-V13940-V19313-V19316-V10416-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="LicensedEntityRole RoleClassAgent RoleClassEmployee RoleClassInvestigationSubject">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CIT"/>
+               <xs:enumeration value="COVPTY"/>
+               <xs:enumeration value="CRINV"/>
+               <xs:enumeration value="CRSPNSR"/>
+               <xs:enumeration value="GUAR"/>
+               <xs:enumeration value="PAT"/>
+               <xs:enumeration value="PAYEE"/>
+               <xs:enumeration value="PAYOR"/>
+               <xs:enumeration value="POLHOLD"/>
+               <xs:enumeration value="QUAL"/>
+               <xs:enumeration value="SPNSR"/>
+               <xs:enumeration value="STD"/>
+               <xs:enumeration value="UNDWRT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassAgent">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14006 (C-0-D11555-V13940-V19313-V19316-V10416-V14006-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassAssignedEntity">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="AGNT"/>
+               <xs:enumeration value="GUARD"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassAssignedEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11595 (C-0-D11555-V13940-V19313-V19316-V10416-V14006-V11595-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassContact">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ASSIGNED"/>
+               <xs:enumeration value="COMPAR"/>
+               <xs:enumeration value="SGNOFF"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassContact">
+      <xs:annotation>
+         <xs:documentation>specDomain: V12205 (C-0-D11555-V13940-V19313-V19316-V10416-V14006-V11595-V12205-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="ECON"/>
+         <xs:enumeration value="NOK"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassEmployee">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11569 (C-0-D11555-V13940-V19313-V19316-V10416-V11569-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EMP"/>
+         <xs:enumeration value="MIL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassInvestigationSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19587 (C-0-D11555-V13940-V19313-V19316-V10416-V19587-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INVSBJ"/>
+         <xs:enumeration value="CASESBJ"/>
+         <xs:enumeration value="RESBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassPassive">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19105 (C-0-D11555-V13940-V19313-V19105-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassDistributedMaterial RoleClassManufacturedProduct RoleClassServiceDeliveryLocation">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ACCESS"/>
+               <xs:enumeration value="BIRTHPL"/>
+               <xs:enumeration value="EXPR"/>
+               <xs:enumeration value="HLD"/>
+               <xs:enumeration value="HLTHCHRT"/>
+               <xs:enumeration value="IDENT"/>
+               <xs:enumeration value="MNT"/>
+               <xs:enumeration value="OWN"/>
+               <xs:enumeration value="RGPR"/>
+               <xs:enumeration value="TERR"/>
+               <xs:enumeration value="WRTE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassDistributedMaterial">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10418 (C-0-D11555-V13940-V19313-V19105-V10418-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DST"/>
+         <xs:enumeration value="RET"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassManufacturedProduct">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11580 (C-0-D11555-V13940-V19313-V19105-V11580-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="MANU"/>
+         <xs:enumeration value="THER"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassServiceDeliveryLocation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V16927 (C-0-D11555-V13940-V19313-V19105-V16927-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SDLOC"/>
+         <xs:enumeration value="DSDLOC"/>
+         <xs:enumeration value="ISDLOC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassOntological">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10428 (C-0-D11555-V13940-V10428-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassIsSpeciesEntity">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="INST"/>
+               <xs:enumeration value="SUBS"/>
+               <xs:enumeration value="SUBY"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassIsSpeciesEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10441 (C-0-D11555-V13940-V10428-V10441-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="GEN"/>
+         <xs:enumeration value="GRIC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassPartitive">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10429 (C-0-D11555-V13940-V10429-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassIngredientEntity RoleClassLocatedEntity RoleClassSpecimen">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CONT"/>
+               <xs:enumeration value="MBR"/>
+               <xs:enumeration value="PART"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassIngredientEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10430 (C-0-D11555-V13940-V10429-V10430-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassInactiveIngredient">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="INGR"/>
+               <xs:enumeration value="ACTI"/>
+               <xs:enumeration value="ACTM"/>
+               <xs:enumeration value="ADTV"/>
+               <xs:enumeration value="BASE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassInactiveIngredient">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19089 (C-0-D11555-V13940-V10429-V10430-V19089-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="IACT"/>
+         <xs:enumeration value="COLR"/>
+         <xs:enumeration value="FLVR"/>
+         <xs:enumeration value="PRSV"/>
+         <xs:enumeration value="STBL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassLocatedEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V16815 (C-0-D11555-V13940-V10429-V16815-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LOCE"/>
+         <xs:enumeration value="STOR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassSpecimen">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11591 (C-0-D11555-V13940-V10429-V11591-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPEC"/>
+         <xs:enumeration value="ALQT"/>
+         <xs:enumeration value="ISLT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentEntrySubject">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19367 (C-0-D11555-V13940-V19367-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPEC"/>
+         <xs:enumeration value="PAT"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentSubject">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19368 (C-0-D11555-V13940-V19368-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PAT"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_InformationRecipientRole">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16772 (C-0-D11555-V13940-V16772-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ASSIGNED"/>
+         <xs:enumeration value="HLTHCHRT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassAccommodationRequestor">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19382 (C-0-D11555-V13940-V19382-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AGNT"/>
+         <xs:enumeration value="PAT"/>
+         <xs:enumeration value="PROV"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassCoverage">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14008 (C-0-D11555-V13940-V14008-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COVPTY"/>
+         <xs:enumeration value="POLHOLD"/>
+         <xs:enumeration value="SPNSR"/>
+         <xs:enumeration value="UNDWRT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassCoverageInvoice">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14013 (C-0-D11555-V13940-V14013-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PAYEE"/>
+         <xs:enumeration value="PAYOR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassCredentialedEntity">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16930 (C-0-D11555-V13940-V16930-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="LicensedEntityRole">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ASSIGNED"/>
+               <xs:enumeration value="QUAL"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="LicensedEntityRole">
+      <xs:annotation>
+         <xs:documentation>specDomain: V16773 (C-0-D11555-V13940-V16930-V16773-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LIC"/>
+         <xs:enumeration value="NOT"/>
+         <xs:enumeration value="PROV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassPayeePolicyRelationship">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19395 (C-0-D11555-V13940-V19395-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COVPTY"/>
+         <xs:enumeration value="GUAR"/>
+         <xs:enumeration value="POLHOLD"/>
+         <xs:enumeration value="PROV"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleLinkType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D11603 (C-0-D11603-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RelatedLinkType"/>
+   </xs:simpleType>
+   <xs:simpleType name="RelatedLinkType">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19615 (C-0-D11603-V19615-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="REL"/>
+         <xs:enumeration value="BACKUP"/>
+         <xs:enumeration value="DIRAUTH"/>
+         <xs:enumeration value="INDAUTH"/>
+         <xs:enumeration value="PART"/>
+         <xs:enumeration value="REPL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <!-- Additional Definitions from the September 2009 HL7 V3 ballot
+      These are necessary for the use in CDA of the COCT_MT230100UV CMET
+      for extended medication handling -->
+   <xs:simpleType name="RoleClassAdministerableMaterial">
+      <xs:restriction base="cs">
+         <xs:enumeration value="ADMM"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassPublicInstitution">
+      <xs:restriction base="cs">
+         <xs:enumeration value="PUB"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityDeterminerSpecific">
+      <xs:restriction base="cs">
+         <xs:enumeration value="INSTANCE"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodEventOccurrence">
+      <xs:restriction base="cs">
+         <xs:enumeration value="EVN"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationAuthorOriginator">
+      <xs:restriction base="cs">
+         <xs:enumeration value="AUT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassContent">
+      <xs:restriction base="cs">
+         <xs:enumeration value="CONT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassState">
+      <xs:restriction base="cs">
+         <xs:enumeration value="STATE"/>
+         <xs:enumeration value="NAT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationHolder">
+      <xs:restriction base="cs">
+         <xs:enumeration value="HLD"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodGoal">
+      <xs:restriction base="cs">
+         <xs:enumeration value="GOL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodDefinition">
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassPart">
+      <xs:restriction base="cs">
+         <xs:enumeration value="PART"/>
+         <xs:enumeration value="ACTM"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassTerritoryOfAuthority">
+      <xs:restriction base="cs">
+         <xs:enumeration value="TERR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassInvoiceElement">
+      <xs:restriction base="cs">
+         <xs:enumeration value="INVE"/>
+      </xs:restriction>
+   </xs:simpleType>
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/NarrativeBlock.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/NarrativeBlock.xsd
new file mode 100644
index 0000000..ebe1d11
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/NarrativeBlock.xsd
@@ -0,0 +1,557 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+  *****************************************************************
+  This specification should in no circumstance be used in the development of, or at runtime
+  by, systems which perform processing of personal or patient data in a clinical or operational
+  setting, or in the provision of medical or therapeutic advice or treatment in a clinical or 
+  operational setting. 
+  *****************************************************************
+  -->
+<!-- $Id: NarrativeBlock.xsd,v 1.6 2007/03/20 02:42:07 wbeeler Exp $ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:hl7-org:v3" targetNamespace="urn:hl7-org:v3" elementFormDefault="qualified">
+  <xs:complexType name="StrucDoc.Text" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.Content"/>
+      <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+      <xs:element name="footnote" type="StrucDoc.Footnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+      <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+      <xs:element name="list" type="StrucDoc.List"/>
+      <xs:element name="table" type="StrucDoc.Table"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="mediaType" type="xs:string" fixed="text/x-hl7-text+xml"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Title" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.TitleContent"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+      <xs:element name="footnote" type="StrucDoc.TitleFootnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="mediaType" type="xs:string" fixed="text/x-hl7-title+xml"/>
+  </xs:complexType>
+  <!-- DELETE THIS, we don't need to define a global element for text
+	<xs:element name="text" type="text"/>
+ -->
+  <xs:simpleType name="StrucDoc.Br">
+    <xs:restriction base="xs:string">
+      <xs:maxLength value="0"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="StrucDoc.Caption" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="footnote" type="StrucDoc.Footnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Col">
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="span" type="xs:string" default="1"/>
+    <xs:attribute name="width" type="xs:string"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Colgroup">
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="col" type="StrucDoc.Col"/>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="span" type="xs:string" default="1"/>
+    <xs:attribute name="width" type="xs:string"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Content" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.Content"/>
+      <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+      <xs:element name="footnote" type="StrucDoc.Footnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="revised">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="insert"/>
+          <xs:enumeration value="delete"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.TitleContent" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.TitleContent"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+      <xs:element name="footnote" type="StrucDoc.TitleFootnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Footnote" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.Content"/>
+      <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+      <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+      <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+      <xs:element name="list" type="StrucDoc.List"/>
+      <xs:element name="table" type="StrucDoc.Table"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.TitleFootnote" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.TitleContent"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.FootnoteRef">
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="IDREF" type="xs:IDREF" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Item" mixed="true">
+    <xs:sequence>
+      <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="content" type="StrucDoc.Content"/>
+        <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+        <xs:element name="sub" type="StrucDoc.Sub"/>
+        <xs:element name="sup" type="StrucDoc.Sup"/>
+        <xs:element name="br" type="StrucDoc.Br"/>
+        <xs:element name="footnote" type="StrucDoc.Footnote"/>
+        <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+        <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+        <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+        <xs:element name="list" type="StrucDoc.List"/>
+        <xs:element name="table" type="StrucDoc.Table"/>
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.LinkHtml" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="footnote" type="StrucDoc.Footnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+    </xs:choice>
+    <xs:attribute name="name" type="xs:string"/>
+    <xs:attribute name="href" type="xs:string"/>
+    <xs:attribute name="rel" type="xs:string"/>
+    <xs:attribute name="rev" type="xs:string"/>
+    <xs:attribute name="title" type="xs:string"/>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.List">
+    <xs:sequence>
+      <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+      <xs:element name="item" type="StrucDoc.Item" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="listType" default="unordered">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="ordered"/>
+          <xs:enumeration value="unordered"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Paragraph" mixed="true">
+    <xs:sequence>
+      <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="content" type="StrucDoc.Content"/>
+        <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+        <xs:element name="sub" type="StrucDoc.Sub"/>
+        <xs:element name="sup" type="StrucDoc.Sup"/>
+        <xs:element name="br" type="StrucDoc.Br"/>
+        <xs:element name="footnote" type="StrucDoc.Footnote"/>
+        <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+        <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.RenderMultiMedia">
+    <xs:sequence>
+      <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="referencedObject" type="xs:IDREFS" use="required"/>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Sub" mixed="true"/>
+  <xs:complexType name="StrucDoc.Sup" mixed="true"/>
+  <xs:complexType name="StrucDoc.Table">
+    <xs:sequence>
+      <xs:element name="caption" type="StrucDoc.Caption" minOccurs="0"/>
+      <xs:choice>
+        <xs:element name="col" type="StrucDoc.Col" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="colgroup" type="StrucDoc.Colgroup" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:choice>
+      <xs:element name="thead" type="StrucDoc.Thead" minOccurs="0"/>
+      <xs:element name="tfoot" type="StrucDoc.Tfoot" minOccurs="0"/>
+      <xs:element name="tbody" type="StrucDoc.Tbody" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="summary" type="xs:string"/>
+    <xs:attribute name="width" type="xs:string"/>
+    <xs:attribute name="border" type="xs:string"/>
+    <xs:attribute name="frame">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="void"/>
+          <xs:enumeration value="above"/>
+          <xs:enumeration value="below"/>
+          <xs:enumeration value="hsides"/>
+          <xs:enumeration value="lhs"/>
+          <xs:enumeration value="rhs"/>
+          <xs:enumeration value="vsides"/>
+          <xs:enumeration value="box"/>
+          <xs:enumeration value="border"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="rules">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="none"/>
+          <xs:enumeration value="groups"/>
+          <xs:enumeration value="rows"/>
+          <xs:enumeration value="cols"/>
+          <xs:enumeration value="all"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="cellspacing" type="xs:string"/>
+    <xs:attribute name="cellpadding" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Tbody">
+    <xs:sequence maxOccurs="unbounded">
+      <xs:element name="tr" type="StrucDoc.Tr"/>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Td" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.Content"/>
+      <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+      <xs:element name="footnote" type="StrucDoc.Footnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+      <xs:element name="paragraph" type="StrucDoc.Paragraph"/>
+      <xs:element name="list" type="StrucDoc.List"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="abbr" type="xs:string"/>
+    <xs:attribute name="axis" type="xs:string"/>
+    <xs:attribute name="headers" type="xs:IDREFS"/>
+    <xs:attribute name="scope">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="row"/>
+          <xs:enumeration value="col"/>
+          <xs:enumeration value="rowgroup"/>
+          <xs:enumeration value="colgroup"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="rowspan" type="xs:string" default="1"/>
+    <xs:attribute name="colspan" type="xs:string" default="1"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Tfoot">
+    <xs:sequence maxOccurs="unbounded">
+      <xs:element name="tr" type="StrucDoc.Tr"/>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Th" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="content" type="StrucDoc.Content"/>
+      <xs:element name="linkHtml" type="StrucDoc.LinkHtml"/>
+      <xs:element name="sub" type="StrucDoc.Sub"/>
+      <xs:element name="sup" type="StrucDoc.Sup"/>
+      <xs:element name="br" type="StrucDoc.Br"/>
+      <xs:element name="footnote" type="StrucDoc.Footnote"/>
+      <xs:element name="footnoteRef" type="StrucDoc.FootnoteRef"/>
+      <xs:element name="renderMultiMedia" type="StrucDoc.RenderMultiMedia"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="abbr" type="xs:string"/>
+    <xs:attribute name="axis" type="xs:string"/>
+    <xs:attribute name="headers" type="xs:IDREFS"/>
+    <xs:attribute name="scope">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="row"/>
+          <xs:enumeration value="col"/>
+          <xs:enumeration value="rowgroup"/>
+          <xs:enumeration value="colgroup"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="rowspan" type="xs:string" default="1"/>
+    <xs:attribute name="colspan" type="xs:string" default="1"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Thead">
+    <xs:sequence maxOccurs="unbounded">
+      <xs:element name="tr" type="StrucDoc.Tr"/>
+    </xs:sequence>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="StrucDoc.Tr">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="th" type="StrucDoc.Th"/>
+      <xs:element name="td" type="StrucDoc.Td"/>
+    </xs:choice>
+    <xs:attribute name="ID" type="xs:ID"/>
+    <xs:attribute name="language" type="xs:NMTOKEN"/>
+    <xs:attribute name="styleCode" type="xs:NMTOKENS"/>
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="char" type="xs:string"/>
+    <xs:attribute name="charoff" type="xs:string"/>
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+</xs:schema>
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes-base_SDTC.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes-base_SDTC.xsd
new file mode 100644
index 0000000..5987b15
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes-base_SDTC.xsd
@@ -0,0 +1,1872 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Copyright (c) 2001, 2002, 2003, 2004, 2005 Health Level Seven. All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. All advertising materials mentioning features or use of this software
+     must display the following acknowledgement:
+       This product includes software developed by Health Level Seven.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+  -->
+<!--
+    This schema is generated from a Generic Schema Definition (GSD)
+    by gsd2xsl. Do not edit this file.
+  -->
+<xs:schema xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:sdtc="urn:hl7-org:sdtc" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+<!--  <xs:include schemaLocation="../../infrastructure/cda/SDTC.xsd" />-->
+  <xs:import namespace="urn:hl7-org:sdtc" schemaLocation="../../SDTC.xsd" />
+  <xs:annotation>
+    
+   <xs:documentation>Manually edited to add SDTC Schema Extensions, July 2012</xs:documentation>
+   <xs:documentation>
+  Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Health Level Seven. All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. All advertising materials mentioning features or use of this software
+     must display the following acknowledgement:
+       This product includes software developed by Health Level Seven.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+  
+Generated by $Id: datatypes-base.xsd,v 1.1 2007/03/20 02:42:09 wbeeler Exp $</xs:documentation>
+  </xs:annotation>
+   <xs:include schemaLocation="voc.xsd"/>
+  <xs:annotation>
+    <xs:documentation> $Id: datatypes-base.xsd,v 1.1 2007/03/20 02:42:09 wbeeler Exp $ 
+Generated by $Id: datatypes-base.xsd,v 1.1 2007/03/20 02:42:09 wbeeler Exp $</xs:documentation>
+  </xs:annotation>
+  
+  
+  <xs:complexType name="ANY" abstract="true">
+    <xs:annotation>
+      <xs:documentation>
+            Defines the basic properties of every data value. This
+            is an abstract type, meaning that no value can be just
+            a data value without belonging to any concrete type.
+            Every concrete type is a specialization of this
+            general abstract DataValue type.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:attribute name="nullFlavor" type="NullFlavor" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+               An exceptional value expressing missing information
+               and possibly the reason why the information is missing.
+            </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:simpleType name="bl">
+    <xs:annotation>
+      <xs:documentation>
+            The Boolean type stands for the values of two-valued logic.
+            A Boolean value can be either true or
+            false, or, as any other value may be NULL.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:boolean">
+      <xs:pattern value="true|false"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="BL">
+    <xs:annotation>
+      <xs:documentation>
+            The Boolean type stands for the values of two-valued logic.
+            A Boolean value can be either true or
+            false, or, as any other value may be NULL.
+         </xs:documentation>
+      <xs:appinfo>
+        <sch:pattern  name="validate BL">
+          <sch:rule abstract="true" id="rule-BL">
+            <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)"/>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:attribute name="value" use="optional" type="bl"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="bn">
+    <xs:annotation>
+      <xs:documentation>
+            The BooleanNonNull type is used where a Boolean cannot
+            have a null value. A Boolean value can be either
+            true or false.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="bl"/>
+  </xs:simpleType>
+  <xs:complexType name="ANYNonNull">
+    <xs:annotation>
+      <xs:documentation>
+            The BooleanNonNull type is used where a Boolean cannot
+            have a null value. A Boolean value can be either
+            true or false.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="ANY">
+        <xs:attribute name="nullFlavor" type="NullFlavor" use="prohibited"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="BN">
+    <xs:annotation>
+      <xs:documentation>
+            The BooleanNonNull type is used where a Boolean cannot
+            have a null value. A Boolean value can be either
+            true or false.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANYNonNull">
+        <xs:attribute name="value" use="optional" type="bn"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="BIN" abstract="true" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            Binary data is a raw block of bits. Binary data is a
+            protected type that MUST not be used outside the data
+            type specification.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:attribute name="representation" use="optional" type="BinaryDataEncoding" default="TXT">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies the representation of the binary data that
+                     is the content of the binary data value.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="bin">
+    <xs:annotation>
+      <xs:documentation>
+            Binary data is a raw block of bits. Binary data is a
+            protected type that MUST not be used outside the data
+            type specification.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:base64Binary"/>
+  </xs:simpleType>
+  <xs:simpleType name="BinaryDataEncoding">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="B64"/>
+      <xs:enumeration value="TXT"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="ED" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            Data that is primarily intended for human interpretation
+            or for further machine processing is outside the scope of
+            HL7. This includes unformatted or formatted written language,
+            multimedia data, or structured information as defined by a
+            different standard (e.g., XML-signatures.)  Instead of the
+            data itself, an ED may contain 
+            only a reference (see TEL.) Note
+            that the ST data type is a
+            specialization of 
+            when the  is text/plain.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="BIN">
+        <xs:sequence>
+          <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="1">
+            <xs:annotation>
+              <xs:documentation>
+                        A telecommunication address (TEL), such as a URL
+                        for HTTP or FTP, which will resolve to precisely
+                        the same binary data that could as well have been
+                        provided as inline data.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="thumbnail" minOccurs="0" maxOccurs="1" type="thumbnail"/>
+        </xs:sequence>
+        <xs:attribute name="mediaType" type="cs" use="optional" default="text/plain">
+          <xs:annotation>
+            <xs:documentation>
+                     Identifies the type of the encapsulated data and
+                     identifies a method to interpret or render the data.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="language" type="cs" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     For character based information the language property
+                     specifies the human language of the text.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="compression" type="CompressionAlgorithm" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     Indicates whether the raw byte data is compressed,
+                     and what compression algorithm was used.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="integrityCheck" type="bin" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The integrity check is a short binary value representing
+                     a cryptographically strong checksum that is calculated
+                     over the binary data. The purpose of this property, when
+                     communicated with a reference is for anyone to validate
+                     later whether the reference still resolved to the same
+                     data that the reference resolved to when the encapsulated
+                     data value with reference was created.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="integrityCheckAlgorithm" type="IntegrityCheckAlgorithm" use="optional" default="SHA-1">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies the algorithm used to compute the
+                     integrityCheck value.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="thumbnail" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+                     A thumbnail is an abbreviated rendition of the full
+                     data. A thumbnail requires significantly fewer
+                     resources than the full data, while still maintaining
+                     some distinctive similarity with the full data. A
+                     thumbnail is typically used with by-reference
+                     encapsulated data. It allows a user to select data
+                     more efficiently before actually downloading through
+                     the reference.
+                  </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="ED">
+        <xs:sequence>
+          <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="1"/>
+          <xs:element name="thumbnail" type="thumbnail" minOccurs="0" maxOccurs="0"/>
+        </xs:sequence>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="st">
+    <xs:annotation>
+      <xs:documentation>
+            The character string data type stands for text data,
+            primarily intended for machine processing (e.g.,
+            sorting, querying, indexing, etc.) Used for names,
+            symbols, and formal expressions.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:minLength value="1"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="ST" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            The character string data type stands for text data,
+            primarily intended for machine processing (e.g.,
+            sorting, querying, indexing, etc.) Used for names,
+            symbols, and formal expressions.
+         </xs:documentation>
+      <xs:appinfo>
+        <sch:pattern  name="validate ST">
+          <sch:rule abstract="true" id="rule-ST">
+            <sch:report test="(@nullFlavor or text()) and not(@nullFlavor and text())">
+              <p xmlns:gsd="http://aurora.regenstrief.org/GenericXMLSchema" xmlns:xlink="http://www.w3.org/TR/WD-xlink">Text content is only allowed in non-NULL values.</p>
+            </sch:report>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="ED">
+        <xs:sequence>
+          <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="0"/>
+          <xs:element name="thumbnail" type="ED" minOccurs="0" maxOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="representation" type="BinaryDataEncoding" fixed="TXT"/>
+        <xs:attribute name="mediaType" type="cs" fixed="text/plain"/>
+        <xs:attribute name="language" type="cs" use="optional"/>
+        <xs:attribute name="compression" type="CompressionAlgorithm" use="prohibited"/>
+        <xs:attribute name="integrityCheck" type="bin" use="prohibited"/>
+        <xs:attribute name="integrityCheckAlgorithm" type="IntegrityCheckAlgorithm" use="prohibited"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="cs">
+    <xs:annotation>
+      <xs:documentation>
+            Coded data in its simplest form, consists of a code.
+            The code system and code system version is fixed by 
+            the context in which the  value occurs.  is used
+            for coded attributes that have a single HL7-defined
+            value set.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:pattern value="[^\s]+"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="CD">
+    <xs:annotation>
+      <xs:documentation>
+            A concept descriptor represents any kind of concept usually
+            by giving a code defined in a code system.  A concept
+            descriptor can contain the original text or phrase that
+            served as the basis of the coding and one or more
+            translations into different coding systems. A concept
+            descriptor can also contain qualifiers to describe, e.g.,
+            the concept of a "left foot" as a postcoordinated term built
+            from the primary code "FOOT" and the qualifier "LEFT".
+            In exceptional cases, the concept descriptor need not
+            contain a code but only the original text describing
+            that concept.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:sequence>
+          <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
+            <xs:annotation>
+              <xs:documentation>
+                        The text or phrase used as the basis for the coding.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="qualifier" type="CR" minOccurs="0" maxOccurs="unbounded">
+            <xs:annotation>
+              <xs:documentation>
+                        Specifies additional codes that increase the
+                        specificity of the primary code.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="unbounded">
+            <xs:annotation>
+              <xs:documentation>
+                        A set of other concept descriptors that translate
+                        this concept descriptor into other code systems.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="code" type="cs" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystem" type="uid" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemVersion" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="displayName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        
+        <!-- Begin Extensions: SDTC -->
+        <xs:attribute ref="sdtc:valueSet" use="optional"/>
+        <xs:attribute ref="sdtc:valueSetVersion" use="optional"/>
+        <!-- End Extensions: SDTC -->
+        
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CE">
+    <xs:annotation>
+      <xs:documentation>
+            Coded data, consists of a coded value (CV)
+            and, optionally, coded value(s) from other coding systems
+            that identify the same concept. Used when alternative
+            codes may exist.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="CD">
+        <xs:sequence>
+          <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
+            <xs:annotation>
+              <xs:documentation>
+                        The text or phrase used as the basis for the coding.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="qualifier" type="CR" minOccurs="0" maxOccurs="0"/>
+          <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="unbounded">
+            <xs:annotation>
+              <xs:documentation>
+                        A set of other concept descriptors that translate
+                        this concept descriptor into other code systems.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="code" type="cs" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystem" type="uid" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemVersion" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="displayName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CV">
+    <xs:annotation>
+      <xs:documentation>
+            Coded data, consists of a code, display name, code system,
+            and original text. Used when a single code value must be sent.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="CE">
+        <xs:sequence>
+          <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
+            <xs:annotation>
+              <xs:documentation>
+                        The text or phrase used as the basis for the coding.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="code" type="cs" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystem" type="uid" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemVersion" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="displayName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CS">
+    <xs:annotation>
+      <xs:documentation>
+            Coded data, consists of a code, display name, code system,
+            and original text. Used when a single code value must be sent.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="CV">
+        <xs:attribute name="code" type="cs" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystem" type="uid" use="prohibited"/>
+        <xs:attribute name="codeSystemName" type="st" use="prohibited"/>
+        <xs:attribute name="codeSystemVersion" type="st" use="prohibited"/>
+        <xs:attribute name="displayName" type="st" use="prohibited"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CO">
+    <xs:annotation>
+      <xs:documentation>
+            Coded data, where the domain from which the codeset comes
+            is ordered. The Coded Ordinal data type adds semantics
+            related to ordering so that models that make use of such
+            domains may introduce model elements that involve statements
+            about the order of the terms in a domain. 
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="CV"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CR">
+    <xs:annotation>
+      <xs:documentation>
+            A concept qualifier code with optionally named role.
+            Both qualifier role and value codes must be defined by
+            the coding system.  For example, if SNOMED RT defines a
+            concept "leg", a role relation "has-laterality", and
+            another concept "left", the concept role relation allows
+            to add the qualifier "has-laterality: left" to a primary
+            code "leg" to construct the meaning "left leg".
+         </xs:documentation>
+      <xs:appinfo>
+        <sch:pattern  name="validate CR">
+          <sch:rule abstract="true" id="rule-CR">
+            <sch:report test="(value or @nullFlavor) and not(@nullFlavor and node())">
+              <p xmlns:gsd="http://aurora.regenstrief.org/GenericXMLSchema" xmlns:xlink="http://www.w3.org/TR/WD-xlink">
+                        A value component is required or else the
+                        code role is NULL.
+                     </p>
+            </sch:report>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:sequence>
+          <xs:element name="name" type="CV" minOccurs="0" maxOccurs="1">
+            <xs:annotation>
+              <xs:documentation>
+                        Specifies the manner in which the concept role value
+                        contributes to the meaning of a code phrase.  For
+                        example, if SNOMED RT defines a concept "leg", a role
+                        relation "has-laterality", and another concept "left",
+                        the concept role relation allows to add the qualifier
+                        "has-laterality: left" to a primary code "leg" to
+                        construct the meaning "left leg".  In this example
+                        "has-laterality" is .
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="value" type="CD" minOccurs="0" maxOccurs="1">
+            <xs:annotation>
+              <xs:documentation>
+                        The concept that modifies the primary code of a code
+                        phrase through the role relation.  For example, if
+                        SNOMED RT defines a concept "leg", a role relation
+                        "has-laterality", and another concept "left", the
+                        concept role relation allows adding the qualifier
+                        "has-laterality: left" to a primary code "leg" to
+                        construct the meaning "left leg".  In this example
+                        "left" is .
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="inverted" type="bn" use="optional" default="false">
+          <xs:annotation>
+            <xs:documentation>
+                     Indicates if the sense of the role name is inverted.
+                     This can be used in cases where the underlying code
+                     system defines inversion but does not provide reciprocal
+                     pairs of role names. By default, inverted is false.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SC" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            An ST that optionally may have a code attached.
+            The text must always be present if a code is present. The
+            code is often a local code.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ST">
+        <xs:attribute name="code" type="cs" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The plain code symbol defined by the code system.
+                     For example, "784.0" is the code symbol of the ICD-9
+                     code "784.0" for headache.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystem" type="uid" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies the code system that defines the code.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A common name of the coding system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="codeSystemVersion" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     If applicable, a version descriptor defined
+                     specifically for the given code system.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="displayName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A name or title for the code, under which the sending
+                     system shows the code value to its users.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="uid">
+    <xs:annotation>
+      <xs:documentation>
+            A unique identifier string is a character string which
+            identifies an object in a globally unique and timeless
+            manner. The allowable formats and values and procedures
+            of this data type are strictly controlled by HL7. At this
+            time, user-assigned identifiers may be certain character
+            representations of ISO Object Identifiers ()
+            and DCE
+            Universally Unique Identifiers ().
+            HL7 also reserves
+            the right to assign other forms of UIDs (,
+            such as mnemonic
+            identifiers for code systems.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:union memberTypes="oid uuid ruid"/>
+  </xs:simpleType>
+  <xs:simpleType name="oid">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[0-2](\.(0|[1-9][0-9]*))*"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="uuid">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ruid">
+    <xs:annotation>
+      <xs:documentation/>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[A-Za-z][A-Za-z0-9\-]*"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="II">
+    <xs:annotation>
+      <xs:documentation>
+            An identifier that uniquely identifies a thing or object.
+            Examples are object identifier for HL7 RIM objects,
+            medical record number, order id, service catalog item id,
+            Vehicle Identification Number (VIN), etc. Instance
+            identifiers are defined based on ISO object identifiers.
+         </xs:documentation>
+      <xs:appinfo>
+        <sch:pattern  name="validate II">
+          <sch:rule abstract="true" id="rule-II">
+            <sch:report test="(@root or @nullFlavor) and not(@root and @nullFlavor)">
+                     A root component is required or else the II value is NULL.
+                  </sch:report>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:attribute name="root" type="uid" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A unique identifier that guarantees the global uniqueness
+                     of the instance identifier. The root alone may be the
+                     entire instance identifier.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="extension" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A character string as a unique identifier within the
+                     scope of the identifier root.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="assigningAuthorityName" type="st" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A human readable name or mnemonic for the assigning
+                     authority. This name may be provided solely for the
+                     convenience of unaided humans interpreting an  value
+                     and can have no computational meaning. Note: no
+                     automated processing must depend on the assigning
+                     authority name to be present in any form.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="displayable" type="bl" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies if the identifier is intended for human
+                     display and data entry (displayable = true) as
+                     opposed to pure machine interoperation (displayable
+                     = false).
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="url">
+    <xs:annotation>
+      <xs:documentation>
+            A telecommunications address  specified according to
+            Internet standard RFC 1738
+            [http://www.ietf.org/rfc/rfc1738.txt]. The
+            URL specifies the protocol and the contact point defined
+            by that protocol for the resource.  Notable uses of the
+            telecommunication address data type are for telephone and
+            telefax numbers, e-mail addresses, Hypertext references,
+            FTP references, etc.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:anyURI"/>
+  </xs:simpleType>
+  <xs:complexType name="URL" abstract="true">
+    <xs:annotation>
+      <xs:documentation>
+            A telecommunications address  specified according to
+            Internet standard RFC 1738
+            [http://www.ietf.org/rfc/rfc1738.txt]. The
+            URL specifies the protocol and the contact point defined
+            by that protocol for the resource.  Notable uses of the
+            telecommunication address data type are for telephone and
+            telefax numbers, e-mail addresses, Hypertext references,
+            FTP references, etc.
+         </xs:documentation>
+      <xs:appinfo>
+        <sch:pattern  name="validate URL">
+          <sch:rule abstract="true" id="rule-URL">
+            <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)"/>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:attribute name="value" type="url" use="optional"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="ts">
+    <xs:annotation>
+      <xs:documentation>
+            A quantity specifying a point on the axis of natural time.
+            A point in time is most often represented as a calendar
+            expression.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[0-9]{1,8}|([0-9]{9,14}|[0-9]{14,14}\.[0-9]+)([+\-][0-9]{1,4})?"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="TS">
+    <xs:annotation>
+      <xs:documentation>
+            A quantity specifying a point on the axis of natural time.
+            A point in time is most often represented as a calendar
+            expression.
+         </xs:documentation>
+      <xs:appinfo>
+        <diff>PQ</diff>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="QTY">
+        <xs:attribute name="value" use="optional" type="ts"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TEL">
+    <xs:annotation>
+      <xs:documentation>
+            A telephone number (voice or fax), e-mail address, or
+            other locator for a resource (information or service)
+            mediated by telecommunication equipment. The address
+            is specified as a URL
+            qualified by time specification and use codes that help
+            in deciding which address to use for a given time and
+            purpose.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="URL">
+        <xs:sequence>
+          <xs:element name="useablePeriod" minOccurs="0" maxOccurs="unbounded" type="SXCM_TS">
+            <xs:annotation>
+              <xs:documentation>
+                     Specifies the periods of time during which the
+                     telecommunication address can be used.  For a
+                     telephone number, this can indicate the time of day
+                     in which the party can be reached on that telephone.
+                     For a web address, it may specify a time range in
+                     which the web content is promised to be available
+                     under the given address.
+                  </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="use" use="optional" type="set_TelecommunicationAddressUse">
+          <xs:annotation>
+            <xs:documentation>
+                     One or more codes advising a system or user which
+                     telecommunication address in a set of like addresses
+                     to select for a given telecommunication need.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ADXP" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            A character string that may have a type-tag signifying its
+            role in the address. Typical parts that exist in about
+            every address are street, house number, or post box,
+            postal code, city, country but other roles may be defined
+            regionally, nationally, or on an enterprise level (e.g. in
+            military addresses). Addresses are usually broken up into
+            lines, which are indicated by special line-breaking
+            delimiter elements (e.g., DEL).
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ST">
+        <xs:attribute name="partType" type="AddressPartType">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies whether an address part names the street,
+                     city, country, postal code, post box, etc. If the type
+                     is NULL the address part is unclassified and would
+                     simply appear on an address label as is.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.delimiter">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DEL"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.country">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="CNT"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.state">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="STA"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.county">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="CPA"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.city">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="CTY"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.postalCode">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="ZIP"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.streetAddressLine">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="SAL"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.houseNumber">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="BNR"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.houseNumberNumeric">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="BNN"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.direction">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DIR"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.streetName">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="STR"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.streetNameBase">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="STB"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <!--
+   jaxb implementors note: the jaxb code generator (v1.0.?) will
+   fail to append "Type" to streetNameType so that there will be
+   duplicate definitions in the java source for streetNameType.
+   You will have to fix this manually.
+  -->
+  <xs:complexType mixed="true" name="adxp.streetNameType">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="STTYP"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.additionalLocator">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="ADL"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.unitID">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="UNID"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.unitType">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="UNIT"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.careOf">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="CAR"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.censusTract">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="CEN"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.deliveryAddressLine">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DAL"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.deliveryInstallationType">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DINST"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.deliveryInstallationArea">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DINSTA"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.deliveryInstallationQualifier">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DINSTQ"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.deliveryMode">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DMOD"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.deliveryModeIdentifier">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="DMODID"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.buildingNumberSuffix">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="BNS"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.postBox">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="POB"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType mixed="true" name="adxp.precinct">
+    <xs:complexContent>
+      <xs:restriction base="ADXP">
+        <xs:attribute name="partType" type="AddressPartType" fixed="PRE"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AD" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            Mailing and home or office addresses. A sequence of
+            address parts, such as street or post office Box, city,
+            postal code, country, etc.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="delimiter" type="adxp.delimiter"/>
+            <xs:element name="country" type="adxp.country"/>
+            <xs:element name="state" type="adxp.state"/>
+            <xs:element name="county" type="adxp.county"/>
+            <xs:element name="city" type="adxp.city"/>
+            <xs:element name="postalCode" type="adxp.postalCode"/>
+            <xs:element name="streetAddressLine" type="adxp.streetAddressLine"/>
+            <xs:element name="houseNumber" type="adxp.houseNumber"/>
+            <xs:element name="houseNumberNumeric" type="adxp.houseNumberNumeric"/>
+            <xs:element name="direction" type="adxp.direction"/>
+            <xs:element name="streetName" type="adxp.streetName"/>
+            <xs:element name="streetNameBase" type="adxp.streetNameBase"/>
+            <xs:element name="streetNameType" type="adxp.streetNameType"/>
+            <xs:element name="additionalLocator" type="adxp.additionalLocator"/>
+            <xs:element name="unitID" type="adxp.unitID"/>
+            <xs:element name="unitType" type="adxp.unitType"/>
+            <xs:element name="careOf" type="adxp.careOf"/>
+            <xs:element name="censusTract" type="adxp.censusTract"/>
+            <xs:element name="deliveryAddressLine" type="adxp.deliveryAddressLine"/>
+            <xs:element name="deliveryInstallationType" type="adxp.deliveryInstallationType"/>
+            <xs:element name="deliveryInstallationArea" type="adxp.deliveryInstallationArea"/>
+            <xs:element name="deliveryInstallationQualifier" type="adxp.deliveryInstallationQualifier"/>
+            <xs:element name="deliveryMode" type="adxp.deliveryMode"/>
+            <xs:element name="deliveryModeIdentifier" type="adxp.deliveryModeIdentifier"/>
+            <xs:element name="buildingNumberSuffix" type="adxp.buildingNumberSuffix"/>
+            <xs:element name="postBox" type="adxp.postBox"/>
+            <xs:element name="precinct" type="adxp.precinct"/>
+          </xs:choice>
+          <xs:element name="useablePeriod" minOccurs="0" maxOccurs="unbounded" type="SXCM_TS">
+            <xs:annotation>
+              <xs:documentation>
+                        A GTS specifying the
+                        periods of time during which the address can be used.
+                        This is used to specify different addresses for
+                        different times of the year or to refer to historical
+                        addresses.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="use" use="optional" type="set_PostalAddressUse">
+          <xs:annotation>
+            <xs:documentation>
+                     A set of codes advising a system or user which address
+                     in a set of like addresses to select for a given purpose.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="isNotOrdered" type="bl" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     A boolean value specifying whether the order of the
+                     address parts is known or not. While the address parts
+                     are always a Sequence, the order in which they are
+                     presented may or may not be known. Where this matters,
+                      can be used to convey this
+                     information.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ENXP" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            A character string token representing a part of a name.
+            May have a type code signifying the role of the part in
+            the whole entity name, and a qualifier code for more detail
+            about the name part type. Typical name parts for person
+            names are given names, and family names, titles, etc.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ST">
+        <xs:attribute name="partType" type="EntityNamePartType">
+          <xs:annotation>
+            <xs:documentation>
+                     Indicates whether the name part is a given name, family
+                     name, prefix, suffix, etc.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="qualifier" use="optional" type="set_EntityNamePartQualifier">
+          <xs:annotation>
+            <xs:documentation> is a set of codes each of which specifies
+                     a certain subcategory of the name part in addition to
+                     the main name part type. For example, a given name may
+                     be flagged as a nickname, a family name may be a
+                     pseudonym or a name of public records.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="en.delimiter" mixed="true">
+    <xs:complexContent>
+      <xs:restriction base="ENXP">
+        <xs:attribute name="partType" type="EntityNamePartType" fixed="DEL"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="en.family" mixed="true">
+    <xs:complexContent>
+      <xs:restriction base="ENXP">
+        <xs:attribute name="partType" type="EntityNamePartType" fixed="FAM"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="en.given" mixed="true">
+    <xs:complexContent>
+      <xs:restriction base="ENXP">
+        <xs:attribute name="partType" type="EntityNamePartType" fixed="GIV"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="en.prefix" mixed="true">
+    <xs:complexContent>
+      <xs:restriction base="ENXP">
+        <xs:attribute name="partType" type="EntityNamePartType" fixed="PFX"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="en.suffix" mixed="true">
+    <xs:complexContent>
+      <xs:restriction base="ENXP">
+        <xs:attribute name="partType" type="EntityNamePartType" fixed="SFX"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EN" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            A name for a person, organization, place or thing. A
+            sequence of name parts, such as given name or family
+            name, prefix, suffix, etc. Examples for entity name
+            values are "Jim Bob Walton, Jr.", "Health Level Seven,
+            Inc.", "Lake Tahoe", etc. An entity name may be as simple
+            as a character string or may consist of several entity name
+            parts, such as, "Jim", "Bob", "Walton", and "Jr.", "Health
+            Level Seven" and "Inc.", "Lake" and "Tahoe".
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY">
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="delimiter" type="en.delimiter"/>
+            <xs:element name="family" type="en.family"/>
+            <xs:element name="given" type="en.given"/>
+            <xs:element name="prefix" type="en.prefix"/>
+            <xs:element name="suffix" type="en.suffix"/>
+          </xs:choice>
+          <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+            <xs:annotation>
+              <xs:documentation>
+                        An interval of time specifying the time during which
+                        the name is or was used for the entity. This
+                        accomodates the fact that people change names for
+                        people, places and things.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="use" use="optional" type="set_EntityNameUse">
+          <xs:annotation>
+            <xs:documentation>
+                     A set of codes advising a system or user which name
+                     in a set of like names to select for a given purpose.
+                     A name without specific use code might be a default
+                     name useful for any purpose, but a name with a specific
+                     use code would be preferred for that respective purpose.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PN" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            A name for a person. A sequence of name parts, such as
+            given name or family name, prefix, suffix, etc. PN differs
+            from EN because the qualifier type cannot include LS
+            (Legal Status).
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="EN"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ON" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            A name for an organization. A sequence of name parts.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="EN">
+        <xs:sequence>
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="delimiter" type="en.delimiter"/>
+            <xs:element name="prefix" type="en.prefix"/>
+            <xs:element name="suffix" type="en.suffix"/>
+          </xs:choice>
+          <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+            <xs:annotation>
+              <xs:documentation>
+                        An interval of time specifying the time during which
+                        the name is or was used for the entity. This
+                        accomodates the fact that people change names for
+                        people, places and things.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="use" use="optional" type="set_EntityNameUse">
+          <xs:annotation>
+            <xs:documentation>
+                     A set of codes advising a system or user which name
+                     in a set of like names to select for a given purpose.
+                     A name without specific use code might be a default
+                     name useful for any purpose, but a name with a specific
+                     use code would be preferred for that respective purpose.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TN" mixed="true">
+    <xs:annotation>
+      <xs:documentation>
+            A restriction of entity name that is effectively a simple string used
+            for a simple name for things and places.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="EN">
+        <xs:sequence>
+          <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+            <xs:annotation>
+              <xs:documentation>
+                        An interval of time specifying the time during which
+                        the name is or was used for the entity. This
+                        accomodates the fact that people change names for
+                        people, places and things.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="QTY" abstract="true">
+    <xs:annotation>
+      <xs:documentation> is an abstract generalization
+            for all data types (1) whose value set has an order
+            relation (less-or-equal) and (2) where difference is
+            defined in all of the data type's totally ordered value
+            subsets.  The quantity type abstraction is needed in
+            defining certain other types, such as the interval and
+            the probability distribution.
+         </xs:documentation>
+      <xs:appinfo>
+        <diff>QTY</diff>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="ANY"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="int">
+    <xs:annotation>
+      <xs:documentation>
+            Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise
+            numbers that are results of counting and enumerating.
+            Integer numbers are discrete, the set of integers is
+            infinite but countable.  No arbitrary limit is imposed on
+            the range of integer numbers. Two NULL flavors are
+            defined for the positive and negative infinity.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:integer"/>
+  </xs:simpleType>
+  <xs:complexType name="INT">
+    <xs:annotation>
+      <xs:documentation>
+            Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise
+            numbers that are results of counting and enumerating.
+            Integer numbers are discrete, the set of integers is
+            infinite but countable.  No arbitrary limit is imposed on
+            the range of integer numbers. Two NULL flavors are
+            defined for the positive and negative infinity.
+         </xs:documentation>
+      <xs:appinfo>
+        <diff>INT</diff>
+        <sch:pattern  name="validate INT">
+          <sch:rule abstract="true" id="rule-INT">
+            <sch:report test="(@value or @nullFlavor) and not(@value and @nullFlavor)"/>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="QTY">
+        <xs:attribute name="value" use="optional" type="int"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="real">
+    <xs:annotation>
+      <xs:documentation>
+            Fractional numbers. Typically used whenever quantities
+            are measured, estimated, or computed from other real
+            numbers.  The typical representation is decimal, where
+            the number of significant decimal digits is known as the
+            precision. Real numbers are needed beyond integers
+            whenever quantities of the real world are measured,
+            estimated, or computed from other real numbers. The term
+            "Real number" in this specification is used to mean
+            that fractional values are covered without necessarily
+            implying the full set of the mathematical real numbers.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:union memberTypes="xs:decimal xs:double"/>
+  </xs:simpleType>
+  <xs:complexType name="REAL">
+    <xs:annotation>
+      <xs:documentation>
+            Fractional numbers. Typically used whenever quantities
+            are measured, estimated, or computed from other real
+            numbers.  The typical representation is decimal, where
+            the number of significant decimal digits is known as the
+            precision. Real numbers are needed beyond integers
+            whenever quantities of the real world are measured,
+            estimated, or computed from other real numbers. The term
+            "Real number" in this specification is used to mean
+            that fractional values are covered without necessarily
+            implying the full set of the mathematical real numbers.
+         </xs:documentation>
+      <xs:appinfo>
+        <diff>REAL</diff>
+        <sch:pattern  name="validate REAL">
+          <sch:rule abstract="true" id="rule-REAL">
+            <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)"/>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="QTY">
+        <xs:attribute name="value" use="optional" type="real"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PQR">
+    <xs:annotation>
+      <xs:documentation>
+            A representation of a physical quantity in a unit from
+            any code system. Used to show alternative representation
+            for a physical quantity.
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="CV">
+        <xs:attribute name="value" type="real" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The magnitude of the measurement value in terms of
+                     the unit specified in the code.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="PQ">
+    <xs:annotation>
+      <xs:documentation>
+            A dimensioned quantity expressing the result of a
+            measurement act.
+        </xs:documentation>
+      <xs:appinfo>
+        <diff>PQ</diff>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="QTY">
+        <xs:sequence>
+          <xs:element name="translation" type="PQR" minOccurs="0" maxOccurs="unbounded">
+            <xs:annotation>
+              <xs:documentation>
+                        An alternative representation of the same physical
+                        quantity expressed in a different unit, of a different
+                        unit code system and possibly with a different value.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="value" type="real" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The magnitude of the quantity measured in terms of
+                     the unit.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="unit" type="cs" use="optional" default="1">
+          <xs:annotation>
+            <xs:documentation>
+                     The unit of measure specified in the Unified Code for
+                     Units of Measure (UCUM)
+                     [http://aurora.rg.iupui.edu/UCUM].
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MO">
+    <xs:annotation>
+      <xs:documentation>
+            A monetary amount is a quantity expressing the amount of
+            money in some currency. Currencies are the units in which
+            monetary amounts are denominated in different economic
+            regions. While the monetary amount is a single kind of
+            quantity (money) the exchange rates between the different
+            units are variable.  This is the principle difference
+            between physical quantity and monetary amounts, and the
+            reason why currency units are not physical units.
+         </xs:documentation>
+      <xs:appinfo>
+        <diff>MO</diff>
+        <sch:pattern  name="validate MO">
+          <sch:rule abstract="true" id="rule-MO">
+            <sch:report test="not(@nullFlavor and (@value or @currency))"/>
+          </sch:rule>
+        </sch:pattern>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="QTY">
+        <xs:attribute name="value" type="real" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The magnitude of the monetary amount in terms of the
+                     currency unit.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="currency" type="cs" use="optional">
+          <xs:annotation>
+            <xs:documentation>
+                     The currency unit as defined in ISO 4217.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="RTO">
+    <xs:annotation>
+      <xs:documentation>
+            A quantity constructed as the quotient of a numerator
+            quantity divided by a denominator quantity. Common
+            factors in the numerator and denominator are not
+            automatically cancelled out.   supports titers
+            (e.g., "1:128") and other quantities produced by
+            laboratories that truly represent ratios. Ratios are
+            not simply "structured numerics", particularly blood
+            pressure measurements (e.g. "120/60") are not ratios.
+            In many cases REAL should be used instead
+            of .
+         </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="RTO_QTY_QTY"/>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="probability">
+    <xs:annotation>
+      <xs:documentation>
+               The probability assigned to the value, a decimal number
+               between 0 (very uncertain) and 1 (certain).
+            </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:double">
+      <xs:minInclusive value="0.0"/>
+      <xs:maxInclusive value="1.0"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="EIVL.event">
+    <xs:annotation>
+      <xs:documentation>
+                        A code for a common (periodical) activity of daily
+                        living based on which the event related periodic
+                        interval is specified.
+                     </xs:documentation>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:restriction base="CE">
+        <xs:attribute name="code" type="TimingEvent" use="optional"/>
+        <xs:attribute name="codeSystem" type="uid" fixed="2.16.840.1.113883.5.139"/>
+        <xs:attribute name="codeSystemName" type="st" fixed="TimingEvent"/>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <!--
+      Instantiated templates
+    -->
+  <xs:complexType name="SXCM_TS">
+    <xs:complexContent>
+      <xs:extension base="TS">
+        <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+          <xs:annotation>
+            <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="set_TelecommunicationAddressUse">
+    <xs:list itemType="TelecommunicationAddressUse"/>
+  </xs:simpleType>
+  <xs:simpleType name="set_PostalAddressUse">
+    <xs:list itemType="PostalAddressUse"/>
+  </xs:simpleType>
+  <xs:simpleType name="set_EntityNamePartQualifier">
+    <xs:list itemType="EntityNamePartQualifier"/>
+  </xs:simpleType>
+  <xs:complexType name="IVL_TS">
+    <xs:complexContent>
+      <xs:extension base="SXCM_TS">
+        <xs:choice minOccurs="0">
+          <xs:sequence>
+            <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_TS">
+              <xs:annotation>
+                <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+              </xs:annotation>
+            </xs:element>
+            <xs:choice minOccurs="0">
+              <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+                <xs:annotation>
+                  <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                </xs:annotation>
+              </xs:element>
+              <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_TS">
+                <xs:annotation>
+                  <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                </xs:annotation>
+              </xs:element>
+            </xs:choice>
+          </xs:sequence>
+          <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_TS">
+            <xs:annotation>
+              <xs:documentation/>
+            </xs:annotation>
+          </xs:element>
+          <xs:sequence>
+            <xs:element name="width" minOccurs="1" maxOccurs="1" type="PQ">
+              <xs:annotation>
+                <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+              </xs:annotation>
+            </xs:element>
+            <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_TS">
+              <xs:annotation>
+                <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+              </xs:annotation>
+            </xs:element>
+          </xs:sequence>
+          <xs:sequence>
+            <xs:element name="center" minOccurs="1" maxOccurs="1" type="TS">
+              <xs:annotation>
+                <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+              </xs:annotation>
+            </xs:element>
+            <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+              <xs:annotation>
+                <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+              </xs:annotation>
+            </xs:element>
+          </xs:sequence>
+        </xs:choice>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="IVXB_TS">
+    <xs:complexContent>
+      <xs:extension base="TS">
+        <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+          <xs:annotation>
+            <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:simpleType name="set_EntityNameUse">
+    <xs:list itemType="EntityNameUse"/>
+  </xs:simpleType>
+  <xs:complexType name="RTO_QTY_QTY">
+    <xs:annotation>
+      <xs:appinfo>
+        <diff>RTO_QTY_QTY</diff>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent>
+      <xs:extension base="QTY">
+        <xs:sequence>
+          <xs:element name="numerator" type="QTY">
+            <xs:annotation>
+              <xs:documentation>
+                        The quantity that is being divided in the ratio.  The
+                        default is the integer number 1 (one).
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+          <xs:element name="denominator" type="QTY">
+            <xs:annotation>
+              <xs:documentation>
+                        The quantity that devides the numerator in the ratio.
+                        The default is the integer number 1 (one).
+                        The denominator must not be zero.
+                     </xs:documentation>
+            </xs:annotation>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes.xsd
new file mode 100644
index 0000000..6b9b966
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/datatypes.xsd
@@ -0,0 +1,1380 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- $Id: $ --><!--
+    This schema is generated from a Generic Schema Definition (GSD)
+    by gsd2xsl. Do not edit this file.
+  -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+   <xs:annotation>
+     <xs:documentation>Manually edited to add SDTC Schema Extensions, July 2012</xs:documentation>
+
+      <xs:documentation>
+           Copyright (c) 2001, 2002, 2003, 2004, 2005 Health Level Seven.
+           All rights reserved.
+
+           Redistribution and use in source and binary forms, with or
+           without modification, are permitted provided that the following
+           conditions are met:
+           1. Redistributions of source code must retain the above
+              copyright notice, this list of conditions and the following
+              disclaimer.
+           2. Redistributions in binary form must reproduce the above
+              copyright notice, this list of conditions and the following
+              disclaimer in the documentation and/or other materials
+              provided with the distribution.
+           3. All advertising materials mentioning features or use of this
+              software must display the following acknowledgement:
+           
+           This product includes software developed by Health Level Seven.
+ 
+           THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS
+           ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
+           NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+           FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
+           SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+           INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+           DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+           GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+           INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+           WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+           NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+           OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+           DAMAGE.
+        
+           Generated by $Id: gsd2xsd.xsl,v 1.4 2005/04/17 03:20:15 lmckenzi Exp $
+</xs:documentation>
+   </xs:annotation>
+   <xs:include schemaLocation="datatypes-base_SDTC.xsd"/>
+<!--
+      Instantiated templates
+    -->
+   <xs:complexType name="PIVL_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_TS">
+            <xs:sequence>
+               <xs:element name="phase" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A prototype of the repeating interval specifying the
+                        duration of each occurrence and anchors the periodic
+                        interval sequence at a certain point in time.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="period" minOccurs="0" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A time duration specifying a reciprocal measure of
+                        the frequency at which the periodic interval repeats.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="alignment" type="CalendarCycle" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies if and how the repetitions are aligned to
+                     the cycles of the underlying calendar (e.g., to
+                     distinguish every 30 days from "the 5th of every
+                     month".) A non-aligned periodic interval recurs
+                     independently from the calendar. An aligned periodic
+                     interval is synchronized with the calendar.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="institutionSpecified" type="bl" use="optional" default="false">
+               <xs:annotation>
+                  <xs:documentation>
+                     Indicates whether the exact timing is up to the party
+                     executing the schedule (e.g., to distinguish "every 8
+                     hours" from "3 times a day".)
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="EIVL_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_TS">
+            <xs:sequence>
+               <xs:element name="event" type="EIVL.event" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A code for a common (periodical) activity of daily
+                        living based on which the event related periodic
+                        interval is specified.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="offset" minOccurs="0" maxOccurs="1" type="IVL_PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An interval of elapsed time (duration, not absolute
+                        point in time) that marks the offsets for the
+                        beginning, width and end of the event-related periodic
+                        interval measured from the time each such event
+                        actually occurred.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_PQ">
+      <xs:complexContent>
+         <xs:extension base="SXCM_PQ">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_PQ">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_PQ">
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_PQ">
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PPD_TS">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>PPD_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="TS">
+            <xs:sequence>
+               <xs:element name="standardDeviation" minOccurs="0" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The primary measure of variance/uncertainty of the
+                        value (the square root of the sum of the squares of
+                        the differences between all data points and the mean).
+                        The standard deviation is used to normalize the data
+                        for computing the distribution function. Applications
+                        that cannot deal with probability distributions can
+                        still get an idea about the confidence level by looking
+                        at the standard deviation.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="distributionType" type="ProbabilityDistributionType" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying the type of probability distribution.
+                     Possible values are as shown in the attached table.
+                     The NULL value (unknown) for the type code indicates
+                     that the probability distribution type is unknown. In
+                     that case, the standard deviation has the meaning of an
+                     informal guess.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PPD_PQ">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>PPD_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:sequence>
+               <xs:element name="standardDeviation" minOccurs="0" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The primary measure of variance/uncertainty of the
+                        value (the square root of the sum of the squares of
+                        the differences between all data points and the mean).
+                        The standard deviation is used to normalize the data
+                        for computing the distribution function. Applications
+                        that cannot deal with probability distributions can
+                        still get an idea about the confidence level by looking
+                        at the standard deviation.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="distributionType" type="ProbabilityDistributionType" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying the type of probability distribution.
+                     Possible values are as shown in the attached table.
+                     The NULL value (unknown) for the type code indicates
+                     that the probability distribution type is unknown. In
+                     that case, the standard deviation has the meaning of an
+                     informal guess.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="PIVL_PPD_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_TS">
+            <xs:sequence>
+               <xs:element name="phase" minOccurs="0" maxOccurs="1" type="IVL_PPD_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A prototype of the repeating interval specifying the
+                        duration of each occurrence and anchors the periodic
+                        interval sequence at a certain point in time.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="period" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A time duration specifying a reciprocal measure of
+                        the frequency at which the periodic interval repeats.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="alignment" type="CalendarCycle" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies if and how the repetitions are aligned to
+                     the cycles of the underlying calendar (e.g., to
+                     distinguish every 30 days from "the 5th of every
+                     month".) A non-aligned periodic interval recurs
+                     independently from the calendar. An aligned periodic
+                     interval is synchronized with the calendar.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="institutionSpecified" type="bl" use="optional" default="false">
+               <xs:annotation>
+                  <xs:documentation>
+                     Indicates whether the exact timing is up to the party
+                     executing the schedule (e.g., to distinguish "every 8
+                     hours" from "3 times a day".)
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_PPD_TS">
+      <xs:complexContent>
+         <xs:extension base="PPD_TS">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_PPD_TS">
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_TS">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_PPD_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_TS">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_PPD_TS">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="PPD_TS">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_PPD_TS">
+      <xs:complexContent>
+         <xs:extension base="PPD_TS">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="EIVL_PPD_TS">
+      <xs:annotation>
+         <xs:documentation>
+            Note: because this type is defined as an extension of SXCM_T,
+            all of the attributes and elements accepted for T are also
+            accepted by this definition.  However, they are NOT allowed
+            by the normative description of this type.  Unfortunately,
+            we cannot write a general purpose schematron contraints to
+            provide that extra validation, thus applications must be
+            aware that instance (fragments) that pass validation with
+            this might might still not be legal.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_TS">
+            <xs:sequence>
+               <xs:element name="event" type="EIVL.event" minOccurs="0" maxOccurs="1">
+                  <xs:annotation>
+                     <xs:documentation>
+                        A code for a common (periodical) activity of daily
+                        living based on which the event related periodic
+                        interval is specified.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="offset" minOccurs="0" maxOccurs="1" type="IVL_PPD_PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        An interval of elapsed time (duration, not absolute
+                        point in time) that marks the offsets for the
+                        beginning, width and end of the event-related periodic
+                        interval measured from the time each such event
+                        actually occurred.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_PPD_PQ">
+      <xs:complexContent>
+         <xs:extension base="SXCM_PPD_PQ">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_PQ">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_PPD_PQ">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="PPD_PQ">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_PPD_PQ">
+      <xs:complexContent>
+         <xs:extension base="PPD_PQ">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_PPD_PQ">
+      <xs:complexContent>
+         <xs:extension base="PPD_PQ">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXPR_TS">
+      <xs:complexContent>
+         <xs:extension base="SXCM_TS">
+            <xs:sequence>
+               <xs:element name="comp" minOccurs="2" maxOccurs="unbounded" type="SXCM_TS">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_CD">
+      <xs:complexContent>
+         <xs:extension base="CD">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_MO">
+      <xs:complexContent>
+         <xs:extension base="MO">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_INT">
+      <xs:complexContent>
+         <xs:extension base="INT">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SXCM_REAL">
+      <xs:complexContent>
+         <xs:extension base="REAL">
+            <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
+               <xs:annotation>
+                  <xs:documentation>
+                     A code specifying whether the set component is included
+                     (union) or excluded (set-difference) from the set, or
+                     other set operations with the current set component and
+                     the set as constructed from the representation stream
+                     up to the current point.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_INT">
+      <xs:complexContent>
+         <xs:extension base="SXCM_INT">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="INT">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_INT">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_INT">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="INT">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_INT">
+      <xs:complexContent>
+         <xs:extension base="INT">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_REAL">
+      <xs:complexContent>
+         <xs:extension base="SXCM_REAL">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="REAL">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_REAL">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_REAL">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="REAL">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_REAL">
+      <xs:complexContent>
+         <xs:extension base="REAL">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVL_MO">
+      <xs:complexContent>
+         <xs:extension base="SXCM_MO">
+            <xs:choice minOccurs="0">
+               <xs:sequence>
+                  <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The low limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:choice minOccurs="0">
+                     <xs:element name="width" minOccurs="0" maxOccurs="1" type="MO">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                     <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_MO">
+                        <xs:annotation>
+                           <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                        </xs:annotation>
+                     </xs:element>
+                  </xs:choice>
+               </xs:sequence>
+               <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_MO">
+                  <xs:annotation>
+                     <xs:documentation/>
+                  </xs:annotation>
+               </xs:element>
+               <xs:sequence>
+                  <xs:element name="width" minOccurs="1" maxOccurs="1" type="MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The high limit of the interval.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+               <xs:sequence>
+                  <xs:element name="center" minOccurs="1" maxOccurs="1" type="MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The arithmetic mean of the interval (low plus high
+                           divided by 2). The purpose of distinguishing the center
+                           as a semantic property is for conversions of intervals
+                           from and to point values.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+                  <xs:element name="width" minOccurs="0" maxOccurs="1" type="MO">
+                     <xs:annotation>
+                        <xs:documentation>
+                           The difference between high and low boundary. The
+                           purpose of distinguishing a width property is to
+                           handle all cases of incomplete information
+                           symmetrically. In any interval representation only
+                           two of the three properties high, low, and width need
+                           to be stated and the third can be derived.
+                        </xs:documentation>
+                     </xs:annotation>
+                  </xs:element>
+               </xs:sequence>
+            </xs:choice>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="IVXB_MO">
+      <xs:complexContent>
+         <xs:extension base="MO">
+            <xs:attribute name="inclusive" type="bl" use="optional" default="true">
+               <xs:annotation>
+                  <xs:documentation>
+                     Specifies whether the limit is included in the
+                     interval (interval is closed) or excluded from the
+                     interval (interval is open).
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="HXIT_PQ">
+      <xs:complexContent>
+         <xs:extension base="PQ">
+            <xs:sequence>
+               <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The time interval during which the given information
+                        was, is, or is expected to be valid. The interval can
+                        be open or closed, as well as infinite or undefined on
+                        either side.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="HXIT_CE">
+      <xs:complexContent>
+         <xs:extension base="CE">
+            <xs:sequence>
+               <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The time interval during which the given information
+                        was, is, or is expected to be valid. The interval can
+                        be open or closed, as well as infinite or undefined on
+                        either side.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="BXIT_CD">
+      <xs:complexContent>
+         <xs:extension base="CD">
+            <xs:attribute name="qty" type="int" use="optional" default="1">
+               <xs:annotation>
+                  <xs:documentation>
+                     The quantity in which the bag item occurs in its containing bag.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="BXIT_IVL_PQ">
+      <xs:complexContent>
+         <xs:extension base="IVL_PQ">
+            <xs:attribute name="qty" type="int" use="optional" default="1">
+               <xs:annotation>
+                  <xs:documentation>
+                     The quantity in which the bag item occurs in its containing bag.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="SLIST_PQ">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="origin" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The origin of the list item value scale, i.e., the
+                     physical quantity that a zero-digit in the sequence
+                     would represent.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="scale" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A ratio-scale quantity that is factored out of the
+                     digit sequence.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="digits" minOccurs="1" maxOccurs="1" type="list_int">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A sequence of raw digits for the sample values. This is
+                     typically the raw output of an A/D converter.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:simpleType name="list_int">
+      <xs:list itemType="int"/>
+   </xs:simpleType>
+   <xs:complexType name="SLIST_TS">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="origin" minOccurs="1" maxOccurs="1" type="TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The origin of the list item value scale, i.e., the
+                     physical quantity that a zero-digit in the sequence
+                     would represent.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="scale" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A ratio-scale quantity that is factored out of the
+                     digit sequence.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="digits" minOccurs="1" maxOccurs="1" type="list_int">
+                  <xs:annotation>
+                     <xs:documentation>
+                     A sequence of raw digits for the sample values. This is
+                     typically the raw output of an A/D converter.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="GLIST_TS">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="head" minOccurs="1" maxOccurs="1" type="TS">
+                  <xs:annotation>
+                     <xs:documentation>
+                     This is the start-value of the generated list. 
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="increment" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The difference between one value and its previous
+                     different value. For example, to generate the sequence
+                     (1; 4; 7; 10; 13; ...) the increment is 3; likewise to
+                     generate the sequence (1; 1; 4; 4; 7; 7; 10; 10; 13;
+                     13; ...) the increment is also 3.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="period" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If non-NULL, specifies that the sequence alternates,
+                     i.e., after this many increments, the sequence item
+                     values roll over to start from the initial sequence
+                     item value. For example, the sequence (1; 2; 3; 1; 2;
+                     3; 1; 2; 3; ...) has period 3; also the sequence
+                     (1; 1; 2; 2; 3; 3; 1; 1; 2; 2; 3; 3; ...) has period
+                     3 too.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="denominator" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The integer by which the index for the sequence is
+                     divided, effectively the number of times the sequence
+                     generates the same sequence item value before
+                     incrementing to the next sequence item value. For
+                     example, to generate the sequence (1; 1; 1; 2; 2; 2; 3; 3;
+                     3; ...)  the denominator is 3.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="GLIST_PQ">
+      <xs:complexContent>
+         <xs:extension base="ANY">
+            <xs:sequence>
+               <xs:element name="head" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     This is the start-value of the generated list. 
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="increment" minOccurs="1" maxOccurs="1" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                     The difference between one value and its previous
+                     different value. For example, to generate the sequence
+                     (1; 4; 7; 10; 13; ...) the increment is 3; likewise to
+                     generate the sequence (1; 1; 4; 4; 7; 7; 10; 10; 13;
+                     13; ...) the increment is also 3.
+                  </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+            <xs:attribute name="period" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     If non-NULL, specifies that the sequence alternates,
+                     i.e., after this many increments, the sequence item
+                     values roll over to start from the initial sequence
+                     item value. For example, the sequence (1; 2; 3; 1; 2;
+                     3; 1; 2; 3; ...) has period 3; also the sequence
+                     (1; 1; 2; 2; 3; 3; 1; 1; 2; 2; 3; 3; ...) has period
+                     3 too.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="denominator" type="int" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+                     The integer by which the index for the sequence is
+                     divided, effectively the number of times the sequence
+                     generates the same sequence item value before
+                     incrementing to the next sequence item value. For
+                     example, to generate the sequence (1; 1; 1; 2; 2; 2; 3; 3;
+                     3; ...)  the denominator is 3.
+                  </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="RTO_PQ_PQ">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>RTO_PQ_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:sequence>
+               <xs:element name="numerator" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that is being divided in the ratio.  The
+                        default is the integer number 1 (one).
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="denominator" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that devides the numerator in the ratio.
+                        The default is the integer number 1 (one).
+                        The denominator must not be zero.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="RTO_MO_PQ">
+      <xs:annotation>
+         <xs:appinfo>
+            <diff>RTO_MO_PQ</diff>
+         </xs:appinfo>
+      </xs:annotation>
+      <xs:complexContent>
+         <xs:extension base="QTY">
+            <xs:sequence>
+               <xs:element name="numerator" type="MO">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that is being divided in the ratio.  The
+                        default is the integer number 1 (one).
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+               <xs:element name="denominator" type="PQ">
+                  <xs:annotation>
+                     <xs:documentation>
+                        The quantity that devides the numerator in the ratio.
+                        The default is the integer number 1 (one).
+                        The denominator must not be zero.
+                     </xs:documentation>
+                  </xs:annotation>
+               </xs:element>
+            </xs:sequence>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+   <xs:complexType name="UVP_TS">
+      <xs:complexContent>
+         <xs:extension base="TS">
+            <xs:attribute name="probability" type="probability" use="optional">
+               <xs:annotation>
+                  <xs:documentation>
+               The probability assigned to the value, a decimal number
+               between 0 (very uncertain) and 1 (certain).
+            </xs:documentation>
+               </xs:annotation>
+            </xs:attribute>
+         </xs:extension>
+      </xs:complexContent>
+   </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/infrastructureRoot.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/infrastructureRoot.xsd
new file mode 100644
index 0000000..27c7827
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/infrastructureRoot.xsd
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema xmlns:mif="urn:hl7-org:v3/mif" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:v3="urn:hl7-org:v3"
+           xmlns:ex="urn:hl7-org/v3-example"
+           elementFormDefault="qualified">
+   <xs:annotation xmlns="urn:hl7-org:v3">
+      <xs:documentation>Source Information
+     Rendered by: RoseTree 4.2.29
+     Rendered on: 2009-02-27T20:57:01
+This model was rendered into XML using software provided to HL7 by Beeler Consulting LLC.
+ Transform: $RCSfile: RoseTreeRimToMIFStaticModel.xsl,v $ $Revision: 1.8 $ $Date: 2007/10/19 05:55:13 $
+ Generated using schema builder version: 3.2.1
+ RIM MIF Infrastructure Root to Schema Transform: $Id: RimInfrastructureRootToXsd.xsl 7572 2009-03-11 01:56:29Z lmckenzi $
+  Static MIF to Schema Transform: $Id: StaticMifToXsd.xsl 7598 2009-03-16 19:52:42Z wbeeler $
+  Package Id Conversion: $Id: TransformPackageIds.xsl 7375 2009-01-26 19:26:53Z wbeeler $</xs:documentation>
+   </xs:annotation>
+   <xs:include schemaLocation="../coreschemas/voc.xsd"/>
+   <xs:include schemaLocation="../coreschemas/datatypes.xsd"/>
+   <xs:group name="InfrastructureRootElements">
+      <xs:sequence>
+         <xs:element name="realmCode" type="CS" minOccurs="0" maxOccurs="unbounded"/>
+         <xs:element name="typeId" type="II" minOccurs="0" maxOccurs="1"/>
+         <xs:element name="templateId" type="II" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+   </xs:group>
+   <xs:attributeGroup name="InfrastructureRootAttributes"/>
+</xs:schema>
\ No newline at end of file
diff --git a/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/voc.xsd b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/voc.xsd
new file mode 100644
index 0000000..2d798ce
--- /dev/null
+++ b/hl7templates/hl7templates-packager-jar/src/main/resources/sequoia-db-hack/xsd/processable/coreschemas/voc.xsd
@@ -0,0 +1,2124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mif="urn:hl7-org:v3/mif">
+   <xs:annotation>
+      <xs:documentation> $Id: Vocabulary.xml,v 1.1 2005/08/25 11:33:46 mcraig Exp $ 
+RoseTree XML to Schema: $Id: VocabXMLtoXSD.xsl,v 1.6 2005/05/24 00:14:18 lmckenzi Exp $</xs:documentation>
+   </xs:annotation>
+   <xs:include schemaLocation="datatypes.xsd"/>
+   <xs:simpleType name="Classes">
+      <xs:restriction base="cs"/>
+   </xs:simpleType>
+   <xs:annotation>
+      <xs:documentation>The following types are used internally in data types</xs:documentation>
+   </xs:annotation>
+   <xs:simpleType name="AddressPartType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10642 (C-0-D10642-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AdditionalLocator DeliveryAddressLine StreetAddressLine">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CAR"/>
+               <xs:enumeration value="CEN"/>
+               <xs:enumeration value="CNT"/>
+               <xs:enumeration value="CPA"/>
+               <xs:enumeration value="CTY"/>
+               <xs:enumeration value="DEL"/>
+               <xs:enumeration value="POB"/>
+               <xs:enumeration value="PRE"/>
+               <xs:enumeration value="STA"/>
+               <xs:enumeration value="ZIP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="AdditionalLocator">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10651 (C-0-D10642-V10651-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ADL"/>
+         <xs:enumeration value="UNID"/>
+         <xs:enumeration value="UNIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="DeliveryAddressLine">
+      <xs:annotation>
+         <xs:documentation>specDomain: V17887 (C-0-D10642-V17887-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DAL"/>
+         <xs:enumeration value="DINST"/>
+         <xs:enumeration value="DINSTA"/>
+         <xs:enumeration value="DINSTQ"/>
+         <xs:enumeration value="DMOD"/>
+         <xs:enumeration value="DMODID"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="StreetAddressLine">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14822 (C-0-D10642-V14822-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="BuildingNumber StreetName">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="SAL"/>
+               <xs:enumeration value="DIR"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="BuildingNumber">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10649 (C-0-D10642-V14822-V10649-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="BNR"/>
+         <xs:enumeration value="BNN"/>
+         <xs:enumeration value="BNS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="StreetName">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10648 (C-0-D10642-V14822-V10648-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="STR"/>
+         <xs:enumeration value="STB"/>
+         <xs:enumeration value="STTYP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="CalendarCycle">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10684 (C-0-D10684-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="CalendarCycleOneLetter CalendarCycleTwoLetter"/>
+   </xs:simpleType>
+   <xs:simpleType name="CalendarCycleOneLetter">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10701 (C-0-D10684-V10701-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="D"/>
+         <xs:enumeration value="H"/>
+         <xs:enumeration value="J"/>
+         <xs:enumeration value="M"/>
+         <xs:enumeration value="N"/>
+         <xs:enumeration value="S"/>
+         <xs:enumeration value="W"/>
+         <xs:enumeration value="Y"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="CalendarCycleTwoLetter">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10685 (C-0-D10684-V10685-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="GregorianCalendarCycle">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CD"/>
+               <xs:enumeration value="CH"/>
+               <xs:enumeration value="CM"/>
+               <xs:enumeration value="CN"/>
+               <xs:enumeration value="CS"/>
+               <xs:enumeration value="CW"/>
+               <xs:enumeration value="CY"/>
+               <xs:enumeration value="DM"/>
+               <xs:enumeration value="DW"/>
+               <xs:enumeration value="DY"/>
+               <xs:enumeration value="HD"/>
+               <xs:enumeration value="MY"/>
+               <xs:enumeration value="NH"/>
+               <xs:enumeration value="SN"/>
+               <xs:enumeration value="WY"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="GregorianCalendarCycle">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10758 (C-0-D10684-V10685-V10758-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs"/>
+   </xs:simpleType>
+   <xs:simpleType name="CompressionAlgorithm">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10620 (C-0-D10620-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DF"/>
+         <xs:enumeration value="GZ"/>
+         <xs:enumeration value="Z"/>
+         <xs:enumeration value="ZL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="Currency">
+      <xs:annotation>
+         <xs:documentation>vocSet: D17388 (C-0-D17388-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ARS"/>
+         <xs:enumeration value="AUD"/>
+         <xs:enumeration value="BRL"/>
+         <xs:enumeration value="CAD"/>
+         <xs:enumeration value="CHF"/>
+         <xs:enumeration value="CLF"/>
+         <xs:enumeration value="CNY"/>
+         <xs:enumeration value="DEM"/>
+         <xs:enumeration value="ESP"/>
+         <xs:enumeration value="EUR"/>
+         <xs:enumeration value="FIM"/>
+         <xs:enumeration value="FRF"/>
+         <xs:enumeration value="GBP"/>
+         <xs:enumeration value="ILS"/>
+         <xs:enumeration value="INR"/>
+         <xs:enumeration value="JPY"/>
+         <xs:enumeration value="KRW"/>
+         <xs:enumeration value="MXN"/>
+         <xs:enumeration value="NLG"/>
+         <xs:enumeration value="NZD"/>
+         <xs:enumeration value="PHP"/>
+         <xs:enumeration value="RUR"/>
+         <xs:enumeration value="THB"/>
+         <xs:enumeration value="TRL"/>
+         <xs:enumeration value="TWD"/>
+         <xs:enumeration value="USD"/>
+         <xs:enumeration value="ZAR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNamePartQualifier">
+      <xs:annotation>
+         <xs:documentation>vocSet: D15888 (C-0-D15888-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="OrganizationNamePartQualifier PersonNamePartQualifier"/>
+   </xs:simpleType>
+   <xs:simpleType name="OrganizationNamePartQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V15889 (C-0-D15888-V15889-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10659 (C-0-D15888-V10659-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="PersonNamePartAffixTypes PersonNamePartChangeQualifier PersonNamePartMiscQualifier">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="IN"/>
+               <xs:enumeration value="TITLE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartAffixTypes">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10666 (C-0-D15888-V10659-V10666-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AC"/>
+         <xs:enumeration value="NB"/>
+         <xs:enumeration value="PR"/>
+         <xs:enumeration value="VV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartChangeQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10660 (C-0-D15888-V10659-V10660-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AD"/>
+         <xs:enumeration value="BR"/>
+         <xs:enumeration value="SP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNamePartMiscQualifier">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10671 (C-0-D15888-V10659-V10671-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNamePartType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D15880 (C-0-D15880-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="x_OrganizationNamePartType x_PersonNamePartType">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DEL"/>
+               <xs:enumeration value="FAM"/>
+               <xs:enumeration value="GIV"/>
+               <xs:enumeration value="PFX"/>
+               <xs:enumeration value="SFX"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="x_OrganizationNamePartType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V15881 (C-0-D15880-V15881-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEL"/>
+         <xs:enumeration value="PFX"/>
+         <xs:enumeration value="SFX"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_PersonNamePartType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10653 (C-0-D15880-V10653-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEL"/>
+         <xs:enumeration value="FAM"/>
+         <xs:enumeration value="GIV"/>
+         <xs:enumeration value="PFX"/>
+         <xs:enumeration value="SFX"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNameUse">
+      <xs:annotation>
+         <xs:documentation>vocSet: D15913 (C-0-D15913-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityNameSearchUse NameRepresentationUse OrganizationNameUse PersonNameUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="C"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="OrganizationNameUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V15914 (C-0-D15913-V15914-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityNameSearchUse NameRepresentationUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="C"/>
+               <xs:enumeration value="L"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="PersonNameUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V200 (C-0-D15913-V200-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityNameSearchUse NamePseudonymUse NameRepresentationUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="A"/>
+               <xs:enumeration value="ASGN"/>
+               <xs:enumeration value="C"/>
+               <xs:enumeration value="I"/>
+               <xs:enumeration value="L"/>
+               <xs:enumeration value="R"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityNameSearchUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19619 (C-0-D15913-V200-V19619-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SRCH"/>
+         <xs:enumeration value="PHON"/>
+         <xs:enumeration value="SNDX"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="NamePseudonymUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19591 (C-0-D15913-V200-V19591-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="P"/>
+         <xs:enumeration value="A"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="IntegrityCheckAlgorithm">
+      <xs:annotation>
+         <xs:documentation>vocSet: D17385 (C-0-D17385-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SHA-1"/>
+         <xs:enumeration value="SHA-256"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="MediaType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D14824 (C-0-D14824-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ApplicationMediaType AudioMediaType ImageMediaType ModelMediaType MultipartMediaType TextMediaType VideoMediaType"/>
+   </xs:simpleType>
+   <xs:simpleType name="ApplicationMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14832 (C-0-D14824-V14832-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="application/dicom"/>
+         <xs:enumeration value="application/msword"/>
+         <xs:enumeration value="application/pdf"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="AudioMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14835 (C-0-D14824-V14835-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="audio/basic"/>
+         <xs:enumeration value="audio/k32adpcm"/>
+         <xs:enumeration value="audio/mpeg"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ImageMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14839 (C-0-D14824-V14839-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="image/g3fax"/>
+         <xs:enumeration value="image/gif"/>
+         <xs:enumeration value="image/jpeg"/>
+         <xs:enumeration value="image/png"/>
+         <xs:enumeration value="image/tiff"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ModelMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14848 (C-0-D14824-V14848-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="model/vrml"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="MultipartMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14850 (C-0-D14824-V14850-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="multipart/x-hl7-cda-level1"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TextMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14825 (C-0-D14824-V14825-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="text/html"/>
+         <xs:enumeration value="text/plain"/>
+         <xs:enumeration value="text/rtf"/>
+         <xs:enumeration value="text/sgml"/>
+         <xs:enumeration value="text/x-hl7-ft"/>
+         <xs:enumeration value="text/xml"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="VideoMediaType">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14845 (C-0-D14824-V14845-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="video/mpeg"/>
+         <xs:enumeration value="video/x-avi"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="PostalAddressUse">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10637 (C-0-D10637-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AddressUse NameRepresentationUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="PHYS"/>
+               <xs:enumeration value="PST"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="NameRepresentationUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V17860 (C-0-D10637-V17860-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ABC"/>
+         <xs:enumeration value="IDE"/>
+         <xs:enumeration value="SYL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ProbabilityDistributionType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10747 (C-0-D10747-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="B"/>
+         <xs:enumeration value="E"/>
+         <xs:enumeration value="F"/>
+         <xs:enumeration value="G"/>
+         <xs:enumeration value="LN"/>
+         <xs:enumeration value="N"/>
+         <xs:enumeration value="T"/>
+         <xs:enumeration value="U"/>
+         <xs:enumeration value="X2"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="SetOperator">
+      <xs:annotation>
+         <xs:documentation>vocSet: D17416 (C-0-D17416-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="A"/>
+         <xs:enumeration value="E"/>
+         <xs:enumeration value="H"/>
+         <xs:enumeration value="I"/>
+         <xs:enumeration value="P"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TelecommunicationAddressUse">
+      <xs:annotation>
+         <xs:documentation>vocSet: D201 (C-0-D201-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AddressUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="AS"/>
+               <xs:enumeration value="EC"/>
+               <xs:enumeration value="MC"/>
+               <xs:enumeration value="PG"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="AddressUse">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V190 (C-0-D201-V190-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="HomeAddressUse WorkPlaceAddressUse">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="BAD"/>
+               <xs:enumeration value="TMP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="HomeAddressUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10628 (C-0-D201-V190-V10628-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="H"/>
+         <xs:enumeration value="HP"/>
+         <xs:enumeration value="HV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="WorkPlaceAddressUse">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19613 (C-0-D201-V190-V19613-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="WP"/>
+         <xs:enumeration value="DIR"/>
+         <xs:enumeration value="PUB"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TimingEvent">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10706 (C-0-D10706-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AC"/>
+         <xs:enumeration value="ACD"/>
+         <xs:enumeration value="ACM"/>
+         <xs:enumeration value="ACV"/>
+         <xs:enumeration value="HS"/>
+         <xs:enumeration value="IC"/>
+         <xs:enumeration value="ICD"/>
+         <xs:enumeration value="ICM"/>
+         <xs:enumeration value="ICV"/>
+         <xs:enumeration value="PC"/>
+         <xs:enumeration value="PCD"/>
+         <xs:enumeration value="PCM"/>
+         <xs:enumeration value="PCV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="URLScheme">
+      <xs:annotation>
+         <xs:documentation>vocSet: D14866 (C-0-D14866-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="fax"/>
+         <xs:enumeration value="file"/>
+         <xs:enumeration value="ftp"/>
+         <xs:enumeration value="http"/>
+         <xs:enumeration value="mailto"/>
+         <xs:enumeration value="mllp"/>
+         <xs:enumeration value="modem"/>
+         <xs:enumeration value="nfs"/>
+         <xs:enumeration value="tel"/>
+         <xs:enumeration value="telnet"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:annotation>
+      <xs:documentation>The following types are used for structural RIM attributes</xs:documentation>
+   </xs:annotation>
+   <xs:simpleType name="ActClass">
+      <xs:annotation>
+         <xs:documentation>vocSet: D11527 (C-0-D11527-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassRoot"/>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassRoot">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13856 (C-0-D11527-V13856-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassContract ActClassControlAct ActClassObservation ActClassSupply ActContainer x_ActClassDocumentEntryAct x_ActClassDocumentEntryOrganizer">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ACT"/>
+               <xs:enumeration value="ACCM"/>
+               <xs:enumeration value="ACCT"/>
+               <xs:enumeration value="ACSN"/>
+               <xs:enumeration value="ADJUD"/>
+               <xs:enumeration value="CONS"/>
+               <xs:enumeration value="CONTREG"/>
+               <xs:enumeration value="CTTEVENT"/>
+               <xs:enumeration value="DISPACT"/>
+               <xs:enumeration value="ENC"/>
+               <xs:enumeration value="INC"/>
+               <xs:enumeration value="INFRM"/>
+               <xs:enumeration value="INVE"/>
+               <xs:enumeration value="LIST"/>
+               <xs:enumeration value="MPROT"/>
+               <xs:enumeration value="PCPR"/>
+               <xs:enumeration value="PROC"/>
+               <xs:enumeration value="REG"/>
+               <xs:enumeration value="REV"/>
+               <xs:enumeration value="SBADM"/>
+               <xs:enumeration value="SPCTRT"/>
+               <xs:enumeration value="SUBST"/>
+               <xs:enumeration value="TRNS"/>
+               <xs:enumeration value="VERIF"/>
+               <xs:enumeration value="XACT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassContract">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14002 (C-0-D11527-V13856-V14002-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassFinancialContract">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CNTRCT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassFinancialContract">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14003 (C-0-D11527-V13856-V14002-V14003-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="FCNTRCT"/>
+         <xs:enumeration value="COV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassControlAct">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11534 (C-0-D11527-V13856-V11534-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CACT"/>
+         <xs:enumeration value="ACTN"/>
+         <xs:enumeration value="INFO"/>
+         <xs:enumeration value="STC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassObservation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11529 (C-0-D11527-V13856-V11529-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassCondition ActClassObservationSeries ActClassROI">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="OBS"/>
+               <xs:enumeration value="ALRT"/>
+               <xs:enumeration value="CLNTRL"/>
+               <xs:enumeration value="CNOD"/>
+               <xs:enumeration value="DGIMG"/>
+               <xs:enumeration value="INVSTG"/>
+               <xs:enumeration value="SPCOBS"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassCondition">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19580 (C-0-D11527-V13856-V11529-V19580-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassPublicHealthCase">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="COND"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassPublicHealthCase">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11530 (C-0-D11527-V13856-V11529-V19580-V11530-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CASE"/>
+         <xs:enumeration value="OUTB"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassObservationSeries">
+      <xs:annotation>
+         <xs:documentation>specDomain: V18875 (C-0-D11527-V13856-V11529-V18875-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="OBSSER"/>
+         <xs:enumeration value="OBSCOR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassROI">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V17893 (C-0-D11527-V13856-V11529-V17893-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ROIBND"/>
+         <xs:enumeration value="ROIOVL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassSupply">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11535 (C-0-D11527-V13856-V11535-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPLY"/>
+         <xs:enumeration value="DIET"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActContainer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19445 (C-0-D11527-V13856-V19445-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassComposition ActClassEntry ActClassExtract ActClassOrganizer">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="FOLDER"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassComposition">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19442 (C-0-D11527-V13856-V19445-V19442-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClassDocument">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="COMPOSITION"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassDocument">
+      <xs:annotation>
+         <xs:documentation>specDomain: V18938 (C-0-D11527-V13856-V19445-V19442-V18938-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActClinicalDocument">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DOC"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActClinicalDocument">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13948 (C-0-D11527-V13856-V19445-V19442-V18938-V13948-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DOCCLIN"/>
+         <xs:enumeration value="CDALVLONE"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassEntry">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19444 (C-0-D11527-V13856-V19445-V19444-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ENTRY"/>
+         <xs:enumeration value="BATTERY"/>
+         <xs:enumeration value="CLUSTER"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassExtract">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19441 (C-0-D11527-V13856-V19445-V19441-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EXTRACT"/>
+         <xs:enumeration value="EHR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActClassOrganizer">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19443 (C-0-D11527-V13856-V19445-V19443-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ORGANIZER"/>
+         <xs:enumeration value="CATEGORY"/>
+         <xs:enumeration value="DOCBODY"/>
+         <xs:enumeration value="DOCSECT"/>
+         <xs:enumeration value="TOPIC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActClassDocumentEntryAct">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19604 (C-0-D11527-V13856-V19604-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ACT"/>
+         <xs:enumeration value="ACCM"/>
+         <xs:enumeration value="CONS"/>
+         <xs:enumeration value="CTTEVENT"/>
+         <xs:enumeration value="INC"/>
+         <xs:enumeration value="INFRM"/>
+         <xs:enumeration value="PCPR"/>
+         <xs:enumeration value="REG"/>
+         <xs:enumeration value="SPCTRT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActClassDocumentEntryOrganizer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19603 (C-0-D11527-V13856-V19603-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="BATTERY"/>
+         <xs:enumeration value="CLUSTER"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActMood">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10196 (C-0-D10196-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActMoodCompletionTrack ActMoodPredicate x_ActMoodDefEvn x_ActMoodDefEvnRqoPrmsPrp x_ActMoodDocumentObservation x_ActMoodEvnOrdPrmsPrp x_ActMoodIntentEvent x_ActMoodOrdPrms x_ActMoodOrdPrmsEvn x_ActMoodRqoPrpAptArq x_DocumentActMood x_DocumentEncounterMood x_DocumentProcedureMood x_DocumentSubstanceMood"/>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodCompletionTrack">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10197 (C-0-D10196-V10197-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActMoodIntent">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DEF"/>
+               <xs:enumeration value="EVN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodPredicate">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10202 (C-0-D10196-V10202-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EVN.CRT"/>
+         <xs:enumeration value="GOL"/>
+         <xs:enumeration value="OPT"/>
+         <xs:enumeration value="PERM"/>
+         <xs:enumeration value="PERMRQ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodDefEvn">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19375 (C-0-D10196-V19375-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodDefEvnRqoPrmsPrp">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19371 (C-0-D10196-V19371-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodDocumentObservation">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18943 (C-0-D10196-V18943-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="GOL"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodEvnOrdPrmsPrp">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18965 (C-0-D10196-V18965-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodIntentEvent">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16742 (C-0-D10196-V16742-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActMoodIntent">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="EVN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActMoodIntent">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10199 (C-0-D10196-V16742-V10199-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+         <xs:enumeration value="SLOT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodOrdPrms">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16735 (C-0-D10196-V16735-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodOrdPrmsEvn">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16730 (C-0-D10196-V16730-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActMoodRqoPrpAptArq">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19372 (C-0-D10196-V19372-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentActMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19458 (C-0-D10196-V19458-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentEncounterMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19459 (C-0-D10196-V19459-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentProcedureMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19460 (C-0-D10196-V19460-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="APT"/>
+         <xs:enumeration value="ARQ"/>
+         <xs:enumeration value="DEF"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentSubstanceMood">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19461 (C-0-D10196-V19461-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INT"/>
+         <xs:enumeration value="EVN"/>
+         <xs:enumeration value="PRMS"/>
+         <xs:enumeration value="PRP"/>
+         <xs:enumeration value="RQO"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10317 (C-0-D10317-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipConditional ActRelationshipHasComponent ActRelationshipOutcome ActRelationshipPertains ActRelationshipSequel x_ActRelationshipDocument x_ActRelationshipEntry x_ActRelationshipEntryRelationship x_ActRelationshipExternalReference x_ActRelationshipPatientTransport x_ActRelationshipPertinentInfo"/>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipConditional">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18977 (C-0-D10317-V18977-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipReason">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CIND"/>
+               <xs:enumeration value="PRCN"/>
+               <xs:enumeration value="TRIG"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipReason">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19376 (C-0-D10317-V18977-V19376-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RSON"/>
+         <xs:enumeration value="MITGT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipHasComponent">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10318 (C-0-D10317-V10318-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COMP"/>
+         <xs:enumeration value="ARR"/>
+         <xs:enumeration value="CTRLV"/>
+         <xs:enumeration value="DEP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipOutcome">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10324 (C-0-D10317-V10324-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipObjective">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="OUTC"/>
+               <xs:enumeration value="GOAL"/>
+               <xs:enumeration value="RISK"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipObjective">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19625 (C-0-D10317-V10324-V19625-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="OBJC"/>
+         <xs:enumeration value="OBJF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipPertains">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10329 (C-0-D10317-V10329-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipAccounting TemporallyPertains hasSupport">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="PERT"/>
+               <xs:enumeration value="AUTH"/>
+               <xs:enumeration value="CAUS"/>
+               <xs:enumeration value="COVBY"/>
+               <xs:enumeration value="DRIV"/>
+               <xs:enumeration value="EXPL"/>
+               <xs:enumeration value="ITEMSLOC"/>
+               <xs:enumeration value="LIMIT"/>
+               <xs:enumeration value="MFST"/>
+               <xs:enumeration value="NAME"/>
+               <xs:enumeration value="PREV"/>
+               <xs:enumeration value="REFR"/>
+               <xs:enumeration value="REFV"/>
+               <xs:enumeration value="SUBJ"/>
+               <xs:enumeration value="SUMM"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipAccounting">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14900 (C-0-D10317-V10329-V14900-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipCostTracking ActRelationshipPosting">
+         <xs:simpleType>
+            <xs:restriction base="cs"/>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipCostTracking">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19618 (C-0-D10317-V10329-V14900-V19618-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CHRG"/>
+         <xs:enumeration value="COST"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipPosting">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19617 (C-0-D10317-V10329-V14900-V19617-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CREDIT"/>
+         <xs:enumeration value="DEBIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="TemporallyPertains">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19590 (C-0-D10317-V10329-V19590-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SAS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="hasSupport">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10330 (C-0-D10317-V10329-V10330-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="SPRTBND"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipSequel">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10337 (C-0-D10317-V10337-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ActRelationshipExcerpt ActRelationshipFulfills ActRelationshipReplacement">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="SEQL"/>
+               <xs:enumeration value="APND"/>
+               <xs:enumeration value="DOC"/>
+               <xs:enumeration value="ELNK"/>
+               <xs:enumeration value="GEN"/>
+               <xs:enumeration value="GEVL"/>
+               <xs:enumeration value="INST"/>
+               <xs:enumeration value="MTCH"/>
+               <xs:enumeration value="OPTN"/>
+               <xs:enumeration value="REV"/>
+               <xs:enumeration value="UPDT"/>
+               <xs:enumeration value="XFRM"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipExcerpt">
+      <xs:annotation>
+         <xs:documentation>specDomain: V18660 (C-0-D10317-V10337-V18660-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="XCRPT"/>
+         <xs:enumeration value="VRXCRPT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipFulfills">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10342 (C-0-D10317-V10337-V10342-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="FLFS"/>
+         <xs:enumeration value="OCCR"/>
+         <xs:enumeration value="OREF"/>
+         <xs:enumeration value="SCH"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ActRelationshipReplacement">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10338 (C-0-D10317-V10337-V10338-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RPLC"/>
+         <xs:enumeration value="SUCC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipDocument">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V11610 (C-0-D10317-V11610-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RPLC"/>
+         <xs:enumeration value="APND"/>
+         <xs:enumeration value="XFRM"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipEntry">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19446 (C-0-D10317-V19446-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COMP"/>
+         <xs:enumeration value="DRIV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipEntryRelationship">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19447 (C-0-D10317-V19447-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="XCRPT"/>
+         <xs:enumeration value="COMP"/>
+         <xs:enumeration value="RSON"/>
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="CAUS"/>
+         <xs:enumeration value="GEVL"/>
+         <xs:enumeration value="MFST"/>
+         <xs:enumeration value="REFR"/>
+         <xs:enumeration value="SAS"/>
+         <xs:enumeration value="SUBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipExternalReference">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19000 (C-0-D10317-V19000-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="XCRPT"/>
+         <xs:enumeration value="RPLC"/>
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="ELNK"/>
+         <xs:enumeration value="REFR"/>
+         <xs:enumeration value="SUBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipPatientTransport">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19005 (C-0-D10317-V19005-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ARR"/>
+         <xs:enumeration value="DEP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ActRelationshipPertinentInfo">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19562 (C-0-D10317-V19562-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPRT"/>
+         <xs:enumeration value="CAUS"/>
+         <xs:enumeration value="MFST"/>
+         <xs:enumeration value="REFR"/>
+         <xs:enumeration value="SUBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="CommunicationFunctionType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D16031 (C-0-D16031-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="RCV"/>
+         <xs:enumeration value="RSP"/>
+         <xs:enumeration value="SND"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControl">
+      <xs:annotation>
+         <xs:documentation>vocSet: D16478 (C-0-D16478-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ContextControlAdditive ContextControlNonPropagating ContextControlOverriding ContextControlPropagating"/>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlAdditive">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18934 (C-0-D16478-V18934-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AN"/>
+         <xs:enumeration value="AP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlNonPropagating">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18937 (C-0-D16478-V18937-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AN"/>
+         <xs:enumeration value="ON"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlOverriding">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18935 (C-0-D16478-V18935-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ON"/>
+         <xs:enumeration value="OP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ContextControlPropagating">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V18936 (C-0-D16478-V18936-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AP"/>
+         <xs:enumeration value="OP"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClass">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10882 (C-0-D10882-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassRoot x_EntityClassDocumentReceiving x_EntityClassPersonOrOrgReceiving"/>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassRoot">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13922 (C-0-D10882-V13922-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassLivingSubject EntityClassMaterial EntityClassOrganization EntityClassPlace">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ENT"/>
+               <xs:enumeration value="HCE"/>
+               <xs:enumeration value="RGRP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassLivingSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10884 (C-0-D10882-V13922-V10884-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassNonPersonLivingSubject">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="LIV"/>
+               <xs:enumeration value="PSN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassNonPersonLivingSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11621 (C-0-D10882-V13922-V10884-V11621-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="NLIV"/>
+         <xs:enumeration value="ANM"/>
+         <xs:enumeration value="MIC"/>
+         <xs:enumeration value="PLNT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassMaterial">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10883 (C-0-D10882-V13922-V10883-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassManufacturedMaterial">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="MAT"/>
+               <xs:enumeration value="CHEM"/>
+               <xs:enumeration value="FOOD"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassManufacturedMaterial">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13934 (C-0-D10882-V13922-V10883-V13934-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassContainer EntityClassDevice">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="MMAT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassContainer">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11622 (C-0-D10882-V13922-V10883-V13934-V11622-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CONT"/>
+         <xs:enumeration value="HOLD"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassDevice">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11623 (C-0-D10882-V13922-V10883-V13934-V11623-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEV"/>
+         <xs:enumeration value="CER"/>
+         <xs:enumeration value="MODDV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassPlace">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10892 (C-0-D10882-V13922-V10892-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PLC"/>
+         <xs:enumeration value="CITY"/>
+         <xs:enumeration value="COUNTRY"/>
+         <xs:enumeration value="COUNTY"/>
+         <xs:enumeration value="PROVINCE"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_EntityClassDocumentReceiving">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19462 (C-0-D10882-V19462-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassOrganization">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="HCE"/>
+               <xs:enumeration value="PSN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="x_EntityClassPersonOrOrgReceiving">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19463 (C-0-D10882-V19463-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityClassOrganization">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="PSN"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityClassOrganization">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10889 (C-0-D10882-V19463-V10889-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="State">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ORG"/>
+               <xs:enumeration value="PUB"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="State">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19455 (C-0-D10882-V19463-V10889-V19455-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="STATE"/>
+         <xs:enumeration value="NAT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="EntityDeterminer">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10878 (C-0-D10878-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="EntityDeterminerDetermined x_DeterminerInstanceKind">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="INSTANCE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="EntityDeterminerDetermined">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10879 (C-0-D10878-V10879-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="KIND"/>
+         <xs:enumeration value="QUANTIFIED_KIND"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DeterminerInstanceKind">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19647 (C-0-D10878-V19647-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="KIND"/>
+         <xs:enumeration value="INSTANCE"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="NullFlavor">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10609 (C-0-D10609-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="NoInformation">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="NP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="NoInformation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10610 (C-0-D10609-V10610-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="Other Unknown">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="NI"/>
+               <xs:enumeration value="MSK"/>
+               <xs:enumeration value="NA"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="Other">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10616 (C-0-D10609-V10610-V10616-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="OTH"/>
+         <xs:enumeration value="NINF"/>
+         <xs:enumeration value="PINF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="Unknown">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10612 (C-0-D10609-V10610-V10612-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="AskedButUnknown">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="UNK"/>
+               <xs:enumeration value="NASK"/>
+               <xs:enumeration value="TRC"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="AskedButUnknown">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10614 (C-0-D10609-V10610-V10612-V10614-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ASKU"/>
+         <xs:enumeration value="NAV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D10901 (C-0-D10901-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ParticipationAncillary ParticipationIndirectTarget ParticipationInformationGenerator ParticipationInformationRecipient ParticipationPhysicalPerformer ParticipationTargetDirect ParticipationTargetLocation ParticipationVerifier x_EncounterParticipant x_EncounterPerformerParticipation x_InformationRecipient x_ParticipationAuthorPerformer x_ParticipationEntVrf x_ParticipationPrfEntVrf x_ParticipationVrfRespSprfWit x_ServiceEventPerformer">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CST"/>
+               <xs:enumeration value="RESP"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationAncillary">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10247 (C-0-D10901-V10247-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ADM"/>
+         <xs:enumeration value="ATND"/>
+         <xs:enumeration value="CALLBCK"/>
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="DIS"/>
+         <xs:enumeration value="ESC"/>
+         <xs:enumeration value="REF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationIndirectTarget">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19032 (C-0-D10901-V19032-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="IND"/>
+         <xs:enumeration value="BEN"/>
+         <xs:enumeration value="COV"/>
+         <xs:enumeration value="HLD"/>
+         <xs:enumeration value="RCT"/>
+         <xs:enumeration value="RCV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationInformationGenerator">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10251 (C-0-D10901-V10251-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AUT"/>
+         <xs:enumeration value="ENT"/>
+         <xs:enumeration value="INF"/>
+         <xs:enumeration value="WIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationInformationRecipient">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10263 (C-0-D10901-V10263-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="IRCP"/>
+         <xs:enumeration value="NOT"/>
+         <xs:enumeration value="PRCP"/>
+         <xs:enumeration value="REFB"/>
+         <xs:enumeration value="REFT"/>
+         <xs:enumeration value="TRC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationPhysicalPerformer">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10248 (C-0-D10901-V10248-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="DIST"/>
+         <xs:enumeration value="PPRF"/>
+         <xs:enumeration value="SPRF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetDirect">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10286 (C-0-D10901-V10286-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="ParticipationTargetDevice ParticipationTargetSubject">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="DIR"/>
+               <xs:enumeration value="BBY"/>
+               <xs:enumeration value="CSM"/>
+               <xs:enumeration value="DON"/>
+               <xs:enumeration value="PRD"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetDevice">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10298 (C-0-D10901-V10286-V10298-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DEV"/>
+         <xs:enumeration value="NRD"/>
+         <xs:enumeration value="RDV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19584 (C-0-D10901-V10286-V19584-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SBJ"/>
+         <xs:enumeration value="SPC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationTargetLocation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10302 (C-0-D10901-V10302-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LOC"/>
+         <xs:enumeration value="DST"/>
+         <xs:enumeration value="ELOC"/>
+         <xs:enumeration value="ORG"/>
+         <xs:enumeration value="RML"/>
+         <xs:enumeration value="VIA"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="ParticipationVerifier">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10259 (C-0-D10901-V10259-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="AUTHEN"/>
+         <xs:enumeration value="LA"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_EncounterParticipant">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19605 (C-0-D10901-V19605-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ADM"/>
+         <xs:enumeration value="ATND"/>
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="DIS"/>
+         <xs:enumeration value="REF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_EncounterPerformerParticipation">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16764 (C-0-D10901-V16764-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="SPRF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_InformationRecipient">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19366 (C-0-D10901-V19366-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRCP"/>
+         <xs:enumeration value="TRC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationAuthorPerformer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19080 (C-0-D10901-V19080-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="AUT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationEntVrf">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19600 (C-0-D10901-V19600-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="ENT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationPrfEntVrf">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19601 (C-0-D10901-V19601-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="ENT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ParticipationVrfRespSprfWit">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19083 (C-0-D10901-V19083-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="VRF"/>
+         <xs:enumeration value="RESP"/>
+         <xs:enumeration value="SPRF"/>
+         <xs:enumeration value="WIT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_ServiceEventPerformer">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19606 (C-0-D10901-V19606-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PRF"/>
+         <xs:enumeration value="PPRF"/>
+         <xs:enumeration value="SPRF"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClass">
+      <xs:annotation>
+         <xs:documentation>vocSet: D11555 (C-0-D11555-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassRoot"/>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassRoot">
+      <xs:annotation>
+         <xs:documentation>specDomain: V13940 (C-0-D11555-V13940-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassAssociative RoleClassOntological RoleClassPartitive x_DocumentEntrySubject x_DocumentSubject x_InformationRecipientRole x_RoleClassAccommodationRequestor x_RoleClassCoverage x_RoleClassCoverageInvoice x_RoleClassCredentialedEntity x_RoleClassPayeePolicyRelationship">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ROL"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassAssociative">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19313 (C-0-D11555-V13940-V19313-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassMutualRelationship RoleClassPassive">
+         <xs:simpleType>
+            <xs:restriction base="cs"/>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassMutualRelationship">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19316 (C-0-D11555-V13940-V19313-V19316-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassRelationshipFormal">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CAREGIVER"/>
+               <xs:enumeration value="PRS"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassRelationshipFormal">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10416 (C-0-D11555-V13940-V19313-V19316-V10416-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="LicensedEntityRole RoleClassAgent RoleClassEmployee RoleClassInvestigationSubject">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CIT"/>
+               <xs:enumeration value="COVPTY"/>
+               <xs:enumeration value="CRINV"/>
+               <xs:enumeration value="CRSPNSR"/>
+               <xs:enumeration value="GUAR"/>
+               <xs:enumeration value="PAT"/>
+               <xs:enumeration value="PAYEE"/>
+               <xs:enumeration value="PAYOR"/>
+               <xs:enumeration value="POLHOLD"/>
+               <xs:enumeration value="QUAL"/>
+               <xs:enumeration value="SPNSR"/>
+               <xs:enumeration value="STD"/>
+               <xs:enumeration value="UNDWRT"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassAgent">
+      <xs:annotation>
+         <xs:documentation>specDomain: V14006 (C-0-D11555-V13940-V19313-V19316-V10416-V14006-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassAssignedEntity">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="AGNT"/>
+               <xs:enumeration value="GUARD"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassAssignedEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11595 (C-0-D11555-V13940-V19313-V19316-V10416-V14006-V11595-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassContact">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ASSIGNED"/>
+               <xs:enumeration value="COMPAR"/>
+               <xs:enumeration value="SGNOFF"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassContact">
+      <xs:annotation>
+         <xs:documentation>specDomain: V12205 (C-0-D11555-V13940-V19313-V19316-V10416-V14006-V11595-V12205-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="CON"/>
+         <xs:enumeration value="ECON"/>
+         <xs:enumeration value="NOK"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassEmployee">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11569 (C-0-D11555-V13940-V19313-V19316-V10416-V11569-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="EMP"/>
+         <xs:enumeration value="MIL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassInvestigationSubject">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19587 (C-0-D11555-V13940-V19313-V19316-V10416-V19587-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="INVSBJ"/>
+         <xs:enumeration value="CASESBJ"/>
+         <xs:enumeration value="RESBJ"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassPassive">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19105 (C-0-D11555-V13940-V19313-V19105-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassDistributedMaterial RoleClassManufacturedProduct RoleClassServiceDeliveryLocation">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ACCESS"/>
+               <xs:enumeration value="BIRTHPL"/>
+               <xs:enumeration value="EXPR"/>
+               <xs:enumeration value="HLD"/>
+               <xs:enumeration value="HLTHCHRT"/>
+               <xs:enumeration value="IDENT"/>
+               <xs:enumeration value="MNT"/>
+               <xs:enumeration value="OWN"/>
+               <xs:enumeration value="RGPR"/>
+               <xs:enumeration value="TERR"/>
+               <xs:enumeration value="WRTE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassDistributedMaterial">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10418 (C-0-D11555-V13940-V19313-V19105-V10418-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="DST"/>
+         <xs:enumeration value="RET"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassManufacturedProduct">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11580 (C-0-D11555-V13940-V19313-V19105-V11580-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="MANU"/>
+         <xs:enumeration value="THER"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassServiceDeliveryLocation">
+      <xs:annotation>
+         <xs:documentation>specDomain: V16927 (C-0-D11555-V13940-V19313-V19105-V16927-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SDLOC"/>
+         <xs:enumeration value="DSDLOC"/>
+         <xs:enumeration value="ISDLOC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassOntological">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10428 (C-0-D11555-V13940-V10428-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassIsSpeciesEntity">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="INST"/>
+               <xs:enumeration value="SUBS"/>
+               <xs:enumeration value="SUBY"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassIsSpeciesEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10441 (C-0-D11555-V13940-V10428-V10441-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="GEN"/>
+         <xs:enumeration value="GRIC"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassPartitive">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V10429 (C-0-D11555-V13940-V10429-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassIngredientEntity RoleClassLocatedEntity RoleClassSpecimen">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="CONT"/>
+               <xs:enumeration value="MBR"/>
+               <xs:enumeration value="PART"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassIngredientEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V10430 (C-0-D11555-V13940-V10429-V10430-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RoleClassInactiveIngredient">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="INGR"/>
+               <xs:enumeration value="ACTI"/>
+               <xs:enumeration value="ACTM"/>
+               <xs:enumeration value="ADTV"/>
+               <xs:enumeration value="BASE"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassInactiveIngredient">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19089 (C-0-D11555-V13940-V10429-V10430-V19089-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="IACT"/>
+         <xs:enumeration value="COLR"/>
+         <xs:enumeration value="FLVR"/>
+         <xs:enumeration value="PRSV"/>
+         <xs:enumeration value="STBL"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassLocatedEntity">
+      <xs:annotation>
+         <xs:documentation>specDomain: V16815 (C-0-D11555-V13940-V10429-V16815-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LOCE"/>
+         <xs:enumeration value="STOR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleClassSpecimen">
+      <xs:annotation>
+         <xs:documentation>specDomain: V11591 (C-0-D11555-V13940-V10429-V11591-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPEC"/>
+         <xs:enumeration value="ALQT"/>
+         <xs:enumeration value="ISLT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentEntrySubject">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19367 (C-0-D11555-V13940-V19367-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="SPEC"/>
+         <xs:enumeration value="PAT"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_DocumentSubject">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19368 (C-0-D11555-V13940-V19368-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PAT"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_InformationRecipientRole">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16772 (C-0-D11555-V13940-V16772-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="ASSIGNED"/>
+         <xs:enumeration value="HLTHCHRT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassAccommodationRequestor">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19382 (C-0-D11555-V13940-V19382-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="AGNT"/>
+         <xs:enumeration value="PAT"/>
+         <xs:enumeration value="PROV"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassCoverage">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14008 (C-0-D11555-V13940-V14008-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COVPTY"/>
+         <xs:enumeration value="POLHOLD"/>
+         <xs:enumeration value="SPNSR"/>
+         <xs:enumeration value="UNDWRT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassCoverageInvoice">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V14013 (C-0-D11555-V13940-V14013-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="PAYEE"/>
+         <xs:enumeration value="PAYOR"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassCredentialedEntity">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V16930 (C-0-D11555-V13940-V16930-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="LicensedEntityRole">
+         <xs:simpleType>
+            <xs:restriction base="cs">
+               <xs:enumeration value="ASSIGNED"/>
+               <xs:enumeration value="QUAL"/>
+            </xs:restriction>
+         </xs:simpleType>
+      </xs:union>
+   </xs:simpleType>
+   <xs:simpleType name="LicensedEntityRole">
+      <xs:annotation>
+         <xs:documentation>specDomain: V16773 (C-0-D11555-V13940-V16930-V16773-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="LIC"/>
+         <xs:enumeration value="NOT"/>
+         <xs:enumeration value="PROV"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="x_RoleClassPayeePolicyRelationship">
+      <xs:annotation>
+         <xs:documentation>abstDomain: V19395 (C-0-D11555-V13940-V19395-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="COVPTY"/>
+         <xs:enumeration value="GUAR"/>
+         <xs:enumeration value="POLHOLD"/>
+         <xs:enumeration value="PROV"/>
+         <xs:enumeration value="PRS"/>
+      </xs:restriction>
+   </xs:simpleType>
+   <xs:simpleType name="RoleLinkType">
+      <xs:annotation>
+         <xs:documentation>vocSet: D11603 (C-0-D11603-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:union memberTypes="RelatedLinkType"/>
+   </xs:simpleType>
+   <xs:simpleType name="RelatedLinkType">
+      <xs:annotation>
+         <xs:documentation>specDomain: V19615 (C-0-D11603-V19615-cpt)</xs:documentation>
+      </xs:annotation>
+      <xs:restriction base="cs">
+         <xs:enumeration value="REL"/>
+         <xs:enumeration value="BACKUP"/>
+         <xs:enumeration value="DIRAUTH"/>
+         <xs:enumeration value="INDAUTH"/>
+         <xs:enumeration value="PART"/>
+         <xs:enumeration value="REPL"/>
+      </xs:restriction>
+   </xs:simpleType>
+</xs:schema>
\ No newline at end of file
-- 
GitLab