Maven plugin now working

This commit is contained in:
jamesagnew 2014-03-03 18:22:14 -05:00
parent 0320d40bc1
commit 72ef42680a
132 changed files with 14059 additions and 2897 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
/bin
/target
*.log
*.log*

View File

@ -83,11 +83,11 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
<version>2.4</version>
<scope>test</scope>
</dependency>
</dependency>
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>

View File

@ -17,9 +17,11 @@
package ca.uhn.fhir.model.dstu.composite;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Address</b> Datatype
@ -39,7 +41,7 @@ import ca.uhn.fhir.model.primitive.*;
public class AddressDt extends BaseElement implements ICompositeDatatype {
@Child(name="use", type=CodeDt.class, order=0, min=0, max=1)
private CodeDt myUse;
private BoundCodeDt<AddressUseEnum> myUse;
@Child(name="text", type=StringDt.class, order=1, min=0, max=1)
private StringDt myText;
@ -72,9 +74,9 @@ public class AddressDt extends BaseElement implements ICompositeDatatype {
* The purpose of this address
* </p>
*/
public CodeDt getUse() {
public BoundCodeDt<AddressUseEnum> getUse() {
if (myUse == null) {
myUse = new CodeDt();
myUse = new BoundCodeDt<AddressUseEnum>(AddressUseEnum.VALUESET_BINDER);
}
return myUse;
}
@ -87,11 +89,23 @@ public class AddressDt extends BaseElement implements ICompositeDatatype {
* The purpose of this address
* </p>
*/
public void setUse(CodeDt theValue) {
public void setUse(BoundCodeDt<AddressUseEnum> theValue) {
myUse = theValue;
}
/**
* Sets the value(s) for <b>use</b> (home | work | temp | old - purpose of this address)
*
* <p>
* <b>Definition:</b>
* The purpose of this address
* </p>
*/
public void setUse(AddressUseEnum theValue) {
getUse().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>text</b> (Text representation of the address).
* creating it if it does
@ -120,8 +134,8 @@ public class AddressDt extends BaseElement implements ICompositeDatatype {
public void setText(StringDt theValue) {
myText = theValue;
}
/**
/**
* Sets the value(s) for <b>text</b> (Text representation of the address)
*
* <p>
@ -163,8 +177,8 @@ P.O. Box number, delivery hints, and similar address information
public void setLine(List<StringDt> theValue) {
myLine = theValue;
}
/**
/**
* Sets the value(s) for <b>line</b> (Street name, number, direction & P.O. Box etc )
*
* <p>
@ -208,8 +222,8 @@ P.O. Box number, delivery hints, and similar address information
public void setCity(StringDt theValue) {
myCity = theValue;
}
/**
/**
* Sets the value(s) for <b>city</b> (Name of city, town etc.)
*
* <p>
@ -249,8 +263,8 @@ P.O. Box number, delivery hints, and similar address information
public void setState(StringDt theValue) {
myState = theValue;
}
/**
/**
* Sets the value(s) for <b>state</b> (Sub-unit of country (abreviations ok))
*
* <p>
@ -290,8 +304,8 @@ P.O. Box number, delivery hints, and similar address information
public void setZip(StringDt theValue) {
myZip = theValue;
}
/**
/**
* Sets the value(s) for <b>zip</b> (Postal code for area)
*
* <p>
@ -331,8 +345,8 @@ P.O. Box number, delivery hints, and similar address information
public void setCountry(StringDt theValue) {
myCountry = theValue;
}
/**
/**
* Sets the value(s) for <b>country</b> (Country (can be ISO 3166 3 letter code))
*
* <p>
@ -372,8 +386,8 @@ P.O. Box number, delivery hints, and similar address information
public void setPeriod(PeriodDt theValue) {
myPeriod = theValue;
}
}

View File

@ -1,10 +1,15 @@
package ca.uhn.fhir.model.primitive;
package ca.uhn.fhir.model.dstu.composite;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.api.annotation.Description;
import ca.uhn.fhir.model.primitive.Base64BinaryDt;
import ca.uhn.fhir.model.primitive.CodeDt;
import ca.uhn.fhir.model.primitive.IntegerDt;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.model.primitive.UriDt;
@DatatypeDef(name="Attachment")
public class AttachmentDt extends BaseElement implements ICompositeDatatype {

View File

@ -0,0 +1,120 @@
package ca.uhn.fhir.model.dstu.composite;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
/**
* HAPI/FHIR <b>CodeableConcept</b> Datatype
* (Concept - reference to a terminology or just text)
*
* <p>
* <b>Definition:</b>
* A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text
* </p>
*
* <p>
* <b>Requirements:</b>
* This is a common pattern in healthcare - a concept that may be defined by one or more codes from formal definitions including LOINC and SNOMED CT, and/or defined by the provision of text that captures a human sense of the concept
* </p>
*/
@DatatypeDef(name="CodeableConcept")
public class CodeableConceptDt extends BaseElement implements ICompositeDatatype {
@Child(name="coding", type=CodingDt.class, order=0, min=0, max=Child.MAX_UNLIMITED)
private List<CodingDt> myCoding;
@Child(name="text", type=StringDt.class, order=1, min=0, max=1)
private StringDt myText;
/**
* Gets the value(s) for <b>coding</b> (Code defined by a terminology system ).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* A reference to a code defined by a terminology system
* </p>
*/
public List<CodingDt> getCoding() {
if (myCoding == null) {
myCoding = new ArrayList<CodingDt>();
}
return myCoding;
}
/**
* Sets the value(s) for <b>coding</b> (Code defined by a terminology system )
*
* <p>
* <b>Definition:</b>
* A reference to a code defined by a terminology system
* </p>
*/
public void setCoding(List<CodingDt> theValue) {
myCoding = theValue;
}
/**
* Gets the value(s) for <b>text</b> (Plain text representation of the concept).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user
* </p>
*/
public StringDt getText() {
if (myText == null) {
myText = new StringDt();
}
return myText;
}
/**
* Sets the value(s) for <b>text</b> (Plain text representation of the concept)
*
* <p>
* <b>Definition:</b>
* A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user
* </p>
*/
public void setText(StringDt theValue) {
myText = theValue;
}
/**
* Sets the value(s) for <b>text</b> (Plain text representation of the concept)
*
* <p>
* <b>Definition:</b>
* A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user
* </p>
*/
public void setText( String theString) {
myText = new StringDt(theString);
}
}

View File

@ -0,0 +1,273 @@
package ca.uhn.fhir.model.dstu.composite;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.ResourceReference;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.ChildResource;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.dstu.resource.ValueSet;
import ca.uhn.fhir.model.primitive.BooleanDt;
import ca.uhn.fhir.model.primitive.CodeDt;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.model.primitive.UriDt;
/**
* HAPI/FHIR <b>Coding</b> Datatype
* (A reference to a code defined by a terminology system )
*
* <p>
* <b>Definition:</b>
* A reference to a code defined by a terminology system
* </p>
*
* <p>
* <b>Requirements:</b>
* References to codes are very common in healthcare models
* </p>
*/
@DatatypeDef(name="Coding")
public class CodingDt extends BaseElement implements ICompositeDatatype {
@Child(name="system", type=UriDt.class, order=0, min=0, max=1)
private UriDt mySystem;
@Child(name="version", type=StringDt.class, order=1, min=0, max=1)
private StringDt myVersion;
@Child(name="code", type=CodeDt.class, order=2, min=0, max=1)
private CodeDt myCode;
@Child(name="display", type=StringDt.class, order=3, min=0, max=1)
private StringDt myDisplay;
@Child(name="primary", type=BooleanDt.class, order=4, min=0, max=1)
private BooleanDt myPrimary;
@Child(name="valueSet", order=5, min=0, max=1)
@ChildResource(types= {
ValueSet.class,
})
private ResourceReference myValueSet;
/**
* Gets the value(s) for <b>system</b> (Identity of the terminology system ).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* The identification of the code system that defines the meaning of the symbol in the code.
* </p>
*/
public UriDt getSystem() {
if (mySystem == null) {
mySystem = new UriDt();
}
return mySystem;
}
/**
* Sets the value(s) for <b>system</b> (Identity of the terminology system )
*
* <p>
* <b>Definition:</b>
* The identification of the code system that defines the meaning of the symbol in the code.
* </p>
*/
public void setSystem(UriDt theValue) {
mySystem = theValue;
}
/**
* Gets the value(s) for <b>version</b> (Version of the system - if relevant).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and When the meaning is not guaranteed to be consistent, the version SHOULD be exchanged
* </p>
*/
public StringDt getVersion() {
if (myVersion == null) {
myVersion = new StringDt();
}
return myVersion;
}
/**
* Sets the value(s) for <b>version</b> (Version of the system - if relevant)
*
* <p>
* <b>Definition:</b>
* The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and When the meaning is not guaranteed to be consistent, the version SHOULD be exchanged
* </p>
*/
public void setVersion(StringDt theValue) {
myVersion = theValue;
}
/**
* Sets the value(s) for <b>version</b> (Version of the system - if relevant)
*
* <p>
* <b>Definition:</b>
* The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and When the meaning is not guaranteed to be consistent, the version SHOULD be exchanged
* </p>
*/
public void setVersion( String theString) {
myVersion = new StringDt(theString);
}
/**
* Gets the value(s) for <b>code</b> (Symbol in syntax defined by the system).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)
* </p>
*/
public CodeDt getCode() {
if (myCode == null) {
myCode = new CodeDt();
}
return myCode;
}
/**
* Sets the value(s) for <b>code</b> (Symbol in syntax defined by the system)
*
* <p>
* <b>Definition:</b>
* A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)
* </p>
*/
public void setCode(CodeDt theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>display</b> (Representation defined by the system).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* A representation of the meaning of the code in the system, following the rules of the system.
* </p>
*/
public StringDt getDisplay() {
if (myDisplay == null) {
myDisplay = new StringDt();
}
return myDisplay;
}
/**
* Sets the value(s) for <b>display</b> (Representation defined by the system)
*
* <p>
* <b>Definition:</b>
* A representation of the meaning of the code in the system, following the rules of the system.
* </p>
*/
public void setDisplay(StringDt theValue) {
myDisplay = theValue;
}
/**
* Sets the value(s) for <b>display</b> (Representation defined by the system)
*
* <p>
* <b>Definition:</b>
* A representation of the meaning of the code in the system, following the rules of the system.
* </p>
*/
public void setDisplay( String theString) {
myDisplay = new StringDt(theString);
}
/**
* Gets the value(s) for <b>primary</b> (If this code was chosen directly by the user).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* Indicates that this code was chosen by a user directly - i.e. off a pick list of available items (codes or displays)
* </p>
*/
public BooleanDt getPrimary() {
if (myPrimary == null) {
myPrimary = new BooleanDt();
}
return myPrimary;
}
/**
* Sets the value(s) for <b>primary</b> (If this code was chosen directly by the user)
*
* <p>
* <b>Definition:</b>
* Indicates that this code was chosen by a user directly - i.e. off a pick list of available items (codes or displays)
* </p>
*/
public void setPrimary(BooleanDt theValue) {
myPrimary = theValue;
}
/**
* Gets the value(s) for <b>valueSet</b> (Set this coding was chosen from).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* The set of possible coded values this coding was chosen from or constrained by
* </p>
*/
public ResourceReference getValueSet() {
if (myValueSet == null) {
myValueSet = new ResourceReference();
}
return myValueSet;
}
/**
* Sets the value(s) for <b>valueSet</b> (Set this coding was chosen from)
*
* <p>
* <b>Definition:</b>
* The set of possible coded values this coding was chosen from or constrained by
* </p>
*/
public void setValueSet(ResourceReference theValue) {
myValueSet = theValue;
}
}

View File

@ -17,9 +17,11 @@
package ca.uhn.fhir.model.dstu.composite;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Contact</b> Datatype
@ -39,13 +41,13 @@ import ca.uhn.fhir.model.primitive.*;
public class ContactDt extends BaseElement implements ICompositeDatatype {
@Child(name="system", type=CodeDt.class, order=0, min=0, max=1)
private CodeDt mySystem;
private BoundCodeDt<ContactSystemEnum> mySystem;
@Child(name="value", type=StringDt.class, order=1, min=0, max=1)
private StringDt myValue;
@Child(name="use", type=CodeDt.class, order=2, min=0, max=1)
private CodeDt myUse;
private BoundCodeDt<ContactUseEnum> myUse;
@Child(name="period", type=PeriodDt.class, order=3, min=0, max=1)
private PeriodDt myPeriod;
@ -60,9 +62,9 @@ public class ContactDt extends BaseElement implements ICompositeDatatype {
* Telecommunications form for contact - what communications system is required to make use of the contact
* </p>
*/
public CodeDt getSystem() {
public BoundCodeDt<ContactSystemEnum> getSystem() {
if (mySystem == null) {
mySystem = new CodeDt();
mySystem = new BoundCodeDt<ContactSystemEnum>(ContactSystemEnum.VALUESET_BINDER);
}
return mySystem;
}
@ -75,11 +77,23 @@ public class ContactDt extends BaseElement implements ICompositeDatatype {
* Telecommunications form for contact - what communications system is required to make use of the contact
* </p>
*/
public void setSystem(CodeDt theValue) {
public void setSystem(BoundCodeDt<ContactSystemEnum> theValue) {
mySystem = theValue;
}
/**
* Sets the value(s) for <b>system</b> (phone | fax | email | url)
*
* <p>
* <b>Definition:</b>
* Telecommunications form for contact - what communications system is required to make use of the contact
* </p>
*/
public void setSystem(ContactSystemEnum theValue) {
getSystem().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>value</b> (The actual contact details).
* creating it if it does
@ -108,8 +122,8 @@ public class ContactDt extends BaseElement implements ICompositeDatatype {
public void setValue(StringDt theValue) {
myValue = theValue;
}
/**
/**
* Sets the value(s) for <b>value</b> (The actual contact details)
*
* <p>
@ -131,9 +145,9 @@ public class ContactDt extends BaseElement implements ICompositeDatatype {
* Identifies the purpose for the address
* </p>
*/
public CodeDt getUse() {
public BoundCodeDt<ContactUseEnum> getUse() {
if (myUse == null) {
myUse = new CodeDt();
myUse = new BoundCodeDt<ContactUseEnum>(ContactUseEnum.VALUESET_BINDER);
}
return myUse;
}
@ -146,11 +160,23 @@ public class ContactDt extends BaseElement implements ICompositeDatatype {
* Identifies the purpose for the address
* </p>
*/
public void setUse(CodeDt theValue) {
public void setUse(BoundCodeDt<ContactUseEnum> theValue) {
myUse = theValue;
}
/**
* Sets the value(s) for <b>use</b> (home | work | temp | old | mobile - purpose of this address)
*
* <p>
* <b>Definition:</b>
* Identifies the purpose for the address
* </p>
*/
public void setUse(ContactUseEnum theValue) {
getUse().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>period</b> (Time period when the contact was/is in use).
* creating it if it does
@ -179,8 +205,8 @@ public class ContactDt extends BaseElement implements ICompositeDatatype {
public void setPeriod(PeriodDt theValue) {
myPeriod = theValue;
}
}

View File

@ -17,9 +17,11 @@
package ca.uhn.fhir.model.dstu.composite;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>HumanName</b> Datatype
@ -39,7 +41,7 @@ import ca.uhn.fhir.model.primitive.*;
public class HumanNameDt extends BaseElement implements ICompositeDatatype {
@Child(name="use", type=CodeDt.class, order=0, min=0, max=1)
private CodeDt myUse;
private BoundCodeDt<NameUseEnum> myUse;
@Child(name="text", type=StringDt.class, order=1, min=0, max=1)
private StringDt myText;
@ -69,9 +71,9 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
* Identifies the purpose for this name
* </p>
*/
public CodeDt getUse() {
public BoundCodeDt<NameUseEnum> getUse() {
if (myUse == null) {
myUse = new CodeDt();
myUse = new BoundCodeDt<NameUseEnum>(NameUseEnum.VALUESET_BINDER);
}
return myUse;
}
@ -84,11 +86,23 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
* Identifies the purpose for this name
* </p>
*/
public void setUse(CodeDt theValue) {
public void setUse(BoundCodeDt<NameUseEnum> theValue) {
myUse = theValue;
}
/**
* Sets the value(s) for <b>use</b> (usual | official | temp | nickname | anonymous | old | maiden)
*
* <p>
* <b>Definition:</b>
* Identifies the purpose for this name
* </p>
*/
public void setUse(NameUseEnum theValue) {
getUse().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>text</b> (Text representation of the full name).
* creating it if it does
@ -117,8 +131,8 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
public void setText(StringDt theValue) {
myText = theValue;
}
/**
/**
* Sets the value(s) for <b>text</b> (Text representation of the full name)
*
* <p>
@ -158,8 +172,8 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
public void setFamily(List<StringDt> theValue) {
myFamily = theValue;
}
/**
/**
* Sets the value(s) for <b>family</b> (Family name (often called 'Surname'))
*
* <p>
@ -202,8 +216,8 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
public void setGiven(List<StringDt> theValue) {
myGiven = theValue;
}
/**
/**
* Sets the value(s) for <b>given</b> (Given names (not always 'first'). Includes middle names)
*
* <p>
@ -246,8 +260,8 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
public void setPrefix(List<StringDt> theValue) {
myPrefix = theValue;
}
/**
/**
* Sets the value(s) for <b>prefix</b> (Parts that come before the name)
*
* <p>
@ -290,8 +304,8 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
public void setSuffix(List<StringDt> theValue) {
mySuffix = theValue;
}
/**
/**
* Sets the value(s) for <b>suffix</b> (Parts that come after the name)
*
* <p>
@ -334,8 +348,8 @@ public class HumanNameDt extends BaseElement implements ICompositeDatatype {
public void setPeriod(PeriodDt theValue) {
myPeriod = theValue;
}
}

View File

@ -0,0 +1,284 @@
package ca.uhn.fhir.model.dstu.composite;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.valueset.*;
import ca.uhn.fhir.model.dstu.resource.*;
/**
* HAPI/FHIR <b>Identifier</b> Datatype
* (An identifier intended for computation)
*
* <p>
* <b>Definition:</b>
* A technical identifier - identifies some entity uniquely and unambiguously
* </p>
*
* <p>
* <b>Requirements:</b>
* Need to be able to identify things with confidence and be sure that the identification is not subject to misinterpretation
* </p>
*/
@DatatypeDef(name="Identifier")
public class IdentifierDt extends BaseElement implements ICompositeDatatype {
@Child(name="use", type=CodeDt.class, order=0, min=0, max=1)
private BoundCodeDt<IdentifierUseEnum> myUse;
@Child(name="label", type=StringDt.class, order=1, min=0, max=1)
private StringDt myLabel;
@Child(name="system", type=UriDt.class, order=2, min=0, max=1)
private UriDt mySystem;
@Child(name="value", type=StringDt.class, order=3, min=0, max=1)
private StringDt myValue;
@Child(name="period", type=PeriodDt.class, order=4, min=0, max=1)
private PeriodDt myPeriod;
@Child(name="assigner", order=5, min=0, max=1)
@ChildResource(types= {
Organization.class,
})
private ResourceReference myAssigner;
/**
* Gets the value(s) for <b>use</b> (usual | official | temp | secondary (If known)
).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* The purpose of this identifier
* </p>
*/
public BoundCodeDt<IdentifierUseEnum> getUse() {
if (myUse == null) {
myUse = new BoundCodeDt<IdentifierUseEnum>(IdentifierUseEnum.VALUESET_BINDER);
}
return myUse;
}
/**
* Sets the value(s) for <b>use</b> (usual | official | temp | secondary (If known)
)
*
* <p>
* <b>Definition:</b>
* The purpose of this identifier
* </p>
*/
public void setUse(BoundCodeDt<IdentifierUseEnum> theValue) {
myUse = theValue;
}
/**
* Sets the value(s) for <b>use</b> (usual | official | temp | secondary (If known)
)
*
* <p>
* <b>Definition:</b>
* The purpose of this identifier
* </p>
*/
public void setUse(IdentifierUseEnum theValue) {
getUse().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>label</b> (Description of identifier).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* A text string for the identifier that can be displayed to a human so they can recognize the identifier
* </p>
*/
public StringDt getLabel() {
if (myLabel == null) {
myLabel = new StringDt();
}
return myLabel;
}
/**
* Sets the value(s) for <b>label</b> (Description of identifier)
*
* <p>
* <b>Definition:</b>
* A text string for the identifier that can be displayed to a human so they can recognize the identifier
* </p>
*/
public void setLabel(StringDt theValue) {
myLabel = theValue;
}
/**
* Sets the value(s) for <b>label</b> (Description of identifier)
*
* <p>
* <b>Definition:</b>
* A text string for the identifier that can be displayed to a human so they can recognize the identifier
* </p>
*/
public void setLabel( String theString) {
myLabel = new StringDt(theString);
}
/**
* Gets the value(s) for <b>system</b> (The namespace for the identifier).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* Establishes the namespace in which set of possible id values is unique.
* </p>
*/
public UriDt getSystem() {
if (mySystem == null) {
mySystem = new UriDt();
}
return mySystem;
}
/**
* Sets the value(s) for <b>system</b> (The namespace for the identifier)
*
* <p>
* <b>Definition:</b>
* Establishes the namespace in which set of possible id values is unique.
* </p>
*/
public void setSystem(UriDt theValue) {
mySystem = theValue;
}
/**
* Gets the value(s) for <b>value</b> (The value that is unique).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* The portion of the identifier typically displayed to the user and which is unique within the context of the system.
* </p>
*/
public StringDt getValue() {
if (myValue == null) {
myValue = new StringDt();
}
return myValue;
}
/**
* Sets the value(s) for <b>value</b> (The value that is unique)
*
* <p>
* <b>Definition:</b>
* The portion of the identifier typically displayed to the user and which is unique within the context of the system.
* </p>
*/
public void setValue(StringDt theValue) {
myValue = theValue;
}
/**
* Sets the value(s) for <b>value</b> (The value that is unique)
*
* <p>
* <b>Definition:</b>
* The portion of the identifier typically displayed to the user and which is unique within the context of the system.
* </p>
*/
public void setValue( String theString) {
myValue = new StringDt(theString);
}
/**
* Gets the value(s) for <b>period</b> (Time period when id is/was valid for use).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* Time period during which identifier is/was valid for use
* </p>
*/
public PeriodDt getPeriod() {
if (myPeriod == null) {
myPeriod = new PeriodDt();
}
return myPeriod;
}
/**
* Sets the value(s) for <b>period</b> (Time period when id is/was valid for use)
*
* <p>
* <b>Definition:</b>
* Time period during which identifier is/was valid for use
* </p>
*/
public void setPeriod(PeriodDt theValue) {
myPeriod = theValue;
}
/**
* Gets the value(s) for <b>assigner</b> (Organization that issued id (may be just text)).
* creating it if it does
* not exist. Will not return <code>null</code>.
*
* <p>
* <b>Definition:</b>
* Organization that issued/manages the identifier
* </p>
*/
public ResourceReference getAssigner() {
if (myAssigner == null) {
myAssigner = new ResourceReference();
}
return myAssigner;
}
/**
* Sets the value(s) for <b>assigner</b> (Organization that issued id (may be just text))
*
* <p>
* <b>Definition:</b>
* Organization that issued/manages the identifier
* </p>
*/
public void setAssigner(ResourceReference theValue) {
myAssigner = theValue;
}
}

View File

@ -20,6 +20,7 @@ import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Narrative</b> Datatype
@ -39,7 +40,7 @@ import ca.uhn.fhir.model.primitive.*;
public class NarrativeDt extends BaseElement implements ICompositeDatatype {
@Child(name="status", type=CodeDt.class, order=0, min=1, max=1)
private CodeDt myStatus;
private BoundCodeDt<NarrativeStatusEnum> myStatus;
@Child(name="div", type=XhtmlDt.class, order=1, min=1, max=1)
private XhtmlDt myDiv;
@ -54,9 +55,9 @@ public class NarrativeDt extends BaseElement implements ICompositeDatatype {
* The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data
* </p>
*/
public CodeDt getStatus() {
public BoundCodeDt<NarrativeStatusEnum> getStatus() {
if (myStatus == null) {
myStatus = new CodeDt();
myStatus = new BoundCodeDt<NarrativeStatusEnum>(NarrativeStatusEnum.VALUESET_BINDER);
}
return myStatus;
}
@ -69,11 +70,23 @@ public class NarrativeDt extends BaseElement implements ICompositeDatatype {
* The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data
* </p>
*/
public void setStatus(CodeDt theValue) {
public void setStatus(BoundCodeDt<NarrativeStatusEnum> theValue) {
myStatus = theValue;
}
/**
* Sets the value(s) for <b>status</b> (generated | extensions | additional)
*
* <p>
* <b>Definition:</b>
* The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data
* </p>
*/
public void setStatus(NarrativeStatusEnum theValue) {
getStatus().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>div</b> (Limited xhtml content).
* creating it if it does
@ -102,8 +115,8 @@ public class NarrativeDt extends BaseElement implements ICompositeDatatype {
public void setDiv(XhtmlDt theValue) {
myDiv = theValue;
}
}

View File

@ -1,10 +1,11 @@
package ca.uhn.fhir.model.primitive;
package ca.uhn.fhir.model.dstu.composite;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.Constraint;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.primitive.DateTimeDt;
@DatatypeDef(name="Period")
public class PeriodDt extends BaseElement implements ICompositeDatatype {

View File

@ -20,6 +20,7 @@ import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Quantity</b> Datatype
@ -42,7 +43,7 @@ public class QuantityDt extends BaseElement implements ICompositeDatatype {
private DecimalDt myValue;
@Child(name="comparator", type=CodeDt.class, order=1, min=0, max=1)
private CodeDt myComparator;
private BoundCodeDt<QuantityCompararatorEnum> myComparator;
@Child(name="units", type=StringDt.class, order=2, min=0, max=1)
private StringDt myUnits;
@ -81,8 +82,8 @@ public class QuantityDt extends BaseElement implements ICompositeDatatype {
public void setValue(DecimalDt theValue) {
myValue = theValue;
}
/**
* Gets the value(s) for <b>comparator</b> (< | <= | >= | > - how to understand the value).
* creating it if it does
@ -93,9 +94,9 @@ public class QuantityDt extends BaseElement implements ICompositeDatatype {
* How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value
* </p>
*/
public CodeDt getComparator() {
public BoundCodeDt<QuantityCompararatorEnum> getComparator() {
if (myComparator == null) {
myComparator = new CodeDt();
myComparator = new BoundCodeDt<QuantityCompararatorEnum>(QuantityCompararatorEnum.VALUESET_BINDER);
}
return myComparator;
}
@ -108,11 +109,23 @@ public class QuantityDt extends BaseElement implements ICompositeDatatype {
* How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value
* </p>
*/
public void setComparator(CodeDt theValue) {
public void setComparator(BoundCodeDt<QuantityCompararatorEnum> theValue) {
myComparator = theValue;
}
/**
* Sets the value(s) for <b>comparator</b> (< | <= | >= | > - how to understand the value)
*
* <p>
* <b>Definition:</b>
* How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues. E.g. if the comparator is "<" , then the real value is < stated value
* </p>
*/
public void setComparator(QuantityCompararatorEnum theValue) {
getComparator().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>units</b> (Unit representation).
* creating it if it does
@ -141,8 +154,8 @@ public class QuantityDt extends BaseElement implements ICompositeDatatype {
public void setUnits(StringDt theValue) {
myUnits = theValue;
}
/**
/**
* Sets the value(s) for <b>units</b> (Unit representation)
*
* <p>
@ -182,8 +195,8 @@ public class QuantityDt extends BaseElement implements ICompositeDatatype {
public void setSystem(UriDt theValue) {
mySystem = theValue;
}
/**
* Gets the value(s) for <b>code</b> (Coded form of the unit).
* creating it if it does
@ -212,8 +225,8 @@ public class QuantityDt extends BaseElement implements ICompositeDatatype {
public void setCode(CodeDt theValue) {
myCode = theValue;
}
}

View File

@ -1,11 +1,10 @@
package ca.uhn.fhir.model.primitive;
package ca.uhn.fhir.model.dstu.composite;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.Constraint;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.dstu.composite.QuantityDt;
@DatatypeDef(name="Range")
public class RangeDt extends BaseElement implements ICompositeDatatype {

View File

@ -1,11 +1,10 @@
package ca.uhn.fhir.model.primitive;
package ca.uhn.fhir.model.dstu.composite;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.Constraint;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.dstu.composite.QuantityDt;
@DatatypeDef(name="Ratio")
public class RatioDt extends BaseElement implements ICompositeDatatype {

View File

@ -1,11 +1,13 @@
package ca.uhn.fhir.model.primitive;
package ca.uhn.fhir.model.dstu.composite;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.api.annotation.Description;
import ca.uhn.fhir.model.dstu.composite.QuantityDt;
import ca.uhn.fhir.model.primitive.DecimalDt;
import ca.uhn.fhir.model.primitive.IntegerDt;
import ca.uhn.fhir.model.primitive.StringDt;
@DatatypeDef(name="SampledData")
public class SampledDataDt extends BaseElement implements ICompositeDatatype {

View File

@ -21,6 +21,7 @@ import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Device</b> Resource
@ -37,7 +38,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Device")
public class Device extends BaseElement implements IResource {
public class Device extends BaseResource implements IResource {
@Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED)
private List<IdentifierDt> myIdentifier;
@ -115,8 +116,8 @@ public class Device extends BaseElement implements IResource {
public void setIdentifier(List<IdentifierDt> theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>type</b> (What kind of device this is).
* creating it if it does
@ -145,8 +146,8 @@ public class Device extends BaseElement implements IResource {
public void setType(CodeableConceptDt theValue) {
myType = theValue;
}
/**
* Gets the value(s) for <b>manufacturer</b> (Name of device manufacturer).
* creating it if it does
@ -175,8 +176,8 @@ public class Device extends BaseElement implements IResource {
public void setManufacturer(StringDt theValue) {
myManufacturer = theValue;
}
/**
/**
* Sets the value(s) for <b>manufacturer</b> (Name of device manufacturer)
*
* <p>
@ -216,8 +217,8 @@ public class Device extends BaseElement implements IResource {
public void setModel(StringDt theValue) {
myModel = theValue;
}
/**
/**
* Sets the value(s) for <b>model</b> (Model id assigned by the manufacturer)
*
* <p>
@ -257,8 +258,8 @@ public class Device extends BaseElement implements IResource {
public void setVersion(StringDt theValue) {
myVersion = theValue;
}
/**
/**
* Sets the value(s) for <b>version</b> (Version number (i.e. software))
*
* <p>
@ -298,8 +299,8 @@ public class Device extends BaseElement implements IResource {
public void setExpiry(DateDt theValue) {
myExpiry = theValue;
}
/**
* Gets the value(s) for <b>udi</b> (FDA Mandated Unique Device Identifier).
* creating it if it does
@ -328,8 +329,8 @@ public class Device extends BaseElement implements IResource {
public void setUdi(StringDt theValue) {
myUdi = theValue;
}
/**
/**
* Sets the value(s) for <b>udi</b> (FDA Mandated Unique Device Identifier)
*
* <p>
@ -369,8 +370,8 @@ public class Device extends BaseElement implements IResource {
public void setLotNumber(StringDt theValue) {
myLotNumber = theValue;
}
/**
/**
* Sets the value(s) for <b>lotNumber</b> (Lot number of manufacture)
*
* <p>
@ -410,8 +411,8 @@ public class Device extends BaseElement implements IResource {
public void setOwner(ResourceReference theValue) {
myOwner = theValue;
}
/**
* Gets the value(s) for <b>location</b> (Where the resource is found).
* creating it if it does
@ -440,8 +441,8 @@ public class Device extends BaseElement implements IResource {
public void setLocation(ResourceReference theValue) {
myLocation = theValue;
}
/**
* Gets the value(s) for <b>patient</b> (If the resource is affixed to a person).
* creating it if it does
@ -470,8 +471,8 @@ public class Device extends BaseElement implements IResource {
public void setPatient(ResourceReference theValue) {
myPatient = theValue;
}
/**
* Gets the value(s) for <b>contact</b> (Details for human/organization for support).
* creating it if it does
@ -500,8 +501,8 @@ public class Device extends BaseElement implements IResource {
public void setContact(List<ContactDt> theValue) {
myContact = theValue;
}
/**
* Gets the value(s) for <b>url</b> (Network address to contact device).
* creating it if it does
@ -530,8 +531,8 @@ public class Device extends BaseElement implements IResource {
public void setUrl(UriDt theValue) {
myUrl = theValue;
}
}

View File

@ -17,10 +17,12 @@
package ca.uhn.fhir.model.dstu.resource;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Group</b> Resource
@ -37,13 +39,13 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Group")
public class Group extends BaseElement implements IResource {
public class Group extends BaseResource implements IResource {
@Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=1)
private IdentifierDt myIdentifier;
@Child(name="type", type=CodeDt.class, order=1, min=1, max=1)
private CodeDt myType;
private BoundCodeDt<GroupTypeEnum> myType;
@Child(name="actual", type=BooleanDt.class, order=2, min=1, max=1)
private BooleanDt myActual;
@ -98,8 +100,8 @@ public class Group extends BaseElement implements IResource {
public void setIdentifier(IdentifierDt theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>type</b> (person | animal | practitioner | device | medication | substance).
* creating it if it does
@ -110,9 +112,9 @@ public class Group extends BaseElement implements IResource {
* Identifies the broad classification of the kind of resources the group includes
* </p>
*/
public CodeDt getType() {
public BoundCodeDt<GroupTypeEnum> getType() {
if (myType == null) {
myType = new CodeDt();
myType = new BoundCodeDt<GroupTypeEnum>(GroupTypeEnum.VALUESET_BINDER);
}
return myType;
}
@ -125,11 +127,23 @@ public class Group extends BaseElement implements IResource {
* Identifies the broad classification of the kind of resources the group includes
* </p>
*/
public void setType(CodeDt theValue) {
public void setType(BoundCodeDt<GroupTypeEnum> theValue) {
myType = theValue;
}
/**
* Sets the value(s) for <b>type</b> (person | animal | practitioner | device | medication | substance)
*
* <p>
* <b>Definition:</b>
* Identifies the broad classification of the kind of resources the group includes
* </p>
*/
public void setType(GroupTypeEnum theValue) {
getType().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>actual</b> (Descriptive or actual).
* creating it if it does
@ -158,8 +172,8 @@ public class Group extends BaseElement implements IResource {
public void setActual(BooleanDt theValue) {
myActual = theValue;
}
/**
* Gets the value(s) for <b>code</b> (Kind of Group members).
* creating it if it does
@ -188,8 +202,8 @@ public class Group extends BaseElement implements IResource {
public void setCode(CodeableConceptDt theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>name</b> (Label for Group).
* creating it if it does
@ -218,8 +232,8 @@ public class Group extends BaseElement implements IResource {
public void setName(StringDt theValue) {
myName = theValue;
}
/**
/**
* Sets the value(s) for <b>name</b> (Label for Group)
*
* <p>
@ -259,8 +273,8 @@ public class Group extends BaseElement implements IResource {
public void setQuantity(IntegerDt theValue) {
myQuantity = theValue;
}
/**
* Gets the value(s) for <b>characteristic</b> (Trait of group members).
* creating it if it does
@ -289,8 +303,8 @@ public class Group extends BaseElement implements IResource {
public void setCharacteristic(List<Characteristic> theValue) {
myCharacteristic = theValue;
}
/**
* Gets the value(s) for <b>member</b> (Who is in group).
* creating it if it does
@ -316,8 +330,8 @@ public class Group extends BaseElement implements IResource {
public void setMember(List<ResourceReference> theValue) {
myMember = theValue;
}
/**
* Block class for child element: <b>Group.characteristic</b> (Trait of group members)
*
@ -371,8 +385,8 @@ public class Group extends BaseElement implements IResource {
public void setCode(CodeableConceptDt theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>value[x]</b> (Value held by characteristic).
* creating it if it does
@ -398,8 +412,8 @@ public class Group extends BaseElement implements IResource {
public void setValue(IDatatype theValue) {
myValue = theValue;
}
/**
* Gets the value(s) for <b>exclude</b> (Group includes or excludes).
* creating it if it does
@ -428,8 +442,8 @@ public class Group extends BaseElement implements IResource {
public void setExclude(BooleanDt theValue) {
myExclude = theValue;
}
}

View File

@ -21,6 +21,7 @@ import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Location</b> Resource
@ -37,7 +38,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Location")
public class Location extends BaseElement implements IResource {
public class Location extends BaseResource implements IResource {
@Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=1)
private IdentifierDt myIdentifier;
@ -70,7 +71,7 @@ public class Location extends BaseElement implements IResource {
private ResourceReference myManagingOrganization;
@Child(name="status", type=CodeDt.class, order=9, min=0, max=1)
private CodeDt myStatus;
private BoundCodeDt<LocationStatusEnum> myStatus;
@Child(name="partOf", order=10, min=0, max=1)
@ChildResource(types= {
@ -79,7 +80,7 @@ public class Location extends BaseElement implements IResource {
private ResourceReference myPartOf;
@Child(name="mode", type=CodeDt.class, order=11, min=0, max=1)
private CodeDt myMode;
private BoundCodeDt<LocationModeEnum> myMode;
/**
* Gets the value(s) for <b>identifier</b> (Unique code or number identifying the location to its users).
@ -109,8 +110,8 @@ public class Location extends BaseElement implements IResource {
public void setIdentifier(IdentifierDt theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>name</b> (Name of the location as used by humans).
* creating it if it does
@ -139,8 +140,8 @@ public class Location extends BaseElement implements IResource {
public void setName(StringDt theValue) {
myName = theValue;
}
/**
/**
* Sets the value(s) for <b>name</b> (Name of the location as used by humans)
*
* <p>
@ -180,8 +181,8 @@ public class Location extends BaseElement implements IResource {
public void setDescription(StringDt theValue) {
myDescription = theValue;
}
/**
/**
* Sets the value(s) for <b>description</b> (Description of the Location, which helps in finding or referencing the place)
*
* <p>
@ -221,8 +222,8 @@ public class Location extends BaseElement implements IResource {
public void setType(CodeableConceptDt theValue) {
myType = theValue;
}
/**
* Gets the value(s) for <b>telecom</b> (Contact details of the location).
* creating it if it does
@ -251,8 +252,8 @@ public class Location extends BaseElement implements IResource {
public void setTelecom(List<ContactDt> theValue) {
myTelecom = theValue;
}
/**
* Gets the value(s) for <b>address</b> (Physical location).
* creating it if it does
@ -281,8 +282,8 @@ public class Location extends BaseElement implements IResource {
public void setAddress(AddressDt theValue) {
myAddress = theValue;
}
/**
* Gets the value(s) for <b>physicalType</b> (Physical form of the location).
* creating it if it does
@ -311,8 +312,8 @@ public class Location extends BaseElement implements IResource {
public void setPhysicalType(CodeableConceptDt theValue) {
myPhysicalType = theValue;
}
/**
* Gets the value(s) for <b>position</b> (The absolute geographic location ).
* creating it if it does
@ -341,8 +342,8 @@ public class Location extends BaseElement implements IResource {
public void setPosition(Position theValue) {
myPosition = theValue;
}
/**
* Gets the value(s) for <b>managingOrganization</b> (The organization that is responsible for the provisioning and upkeep of the location).
* creating it if it does
@ -371,8 +372,8 @@ public class Location extends BaseElement implements IResource {
public void setManagingOrganization(ResourceReference theValue) {
myManagingOrganization = theValue;
}
/**
* Gets the value(s) for <b>status</b> (active | suspended | inactive).
* creating it if it does
@ -383,9 +384,9 @@ public class Location extends BaseElement implements IResource {
*
* </p>
*/
public CodeDt getStatus() {
public BoundCodeDt<LocationStatusEnum> getStatus() {
if (myStatus == null) {
myStatus = new CodeDt();
myStatus = new BoundCodeDt<LocationStatusEnum>(LocationStatusEnum.VALUESET_BINDER);
}
return myStatus;
}
@ -398,11 +399,23 @@ public class Location extends BaseElement implements IResource {
*
* </p>
*/
public void setStatus(CodeDt theValue) {
public void setStatus(BoundCodeDt<LocationStatusEnum> theValue) {
myStatus = theValue;
}
/**
* Sets the value(s) for <b>status</b> (active | suspended | inactive)
*
* <p>
* <b>Definition:</b>
*
* </p>
*/
public void setStatus(LocationStatusEnum theValue) {
getStatus().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>partOf</b> (Another Location which this Location is physically part of).
* creating it if it does
@ -431,8 +444,8 @@ public class Location extends BaseElement implements IResource {
public void setPartOf(ResourceReference theValue) {
myPartOf = theValue;
}
/**
* Gets the value(s) for <b>mode</b> (instance | kind).
* creating it if it does
@ -443,9 +456,9 @@ public class Location extends BaseElement implements IResource {
* Indicates whether a resource instance represents a specific location or a class of locations
* </p>
*/
public CodeDt getMode() {
public BoundCodeDt<LocationModeEnum> getMode() {
if (myMode == null) {
myMode = new CodeDt();
myMode = new BoundCodeDt<LocationModeEnum>(LocationModeEnum.VALUESET_BINDER);
}
return myMode;
}
@ -458,11 +471,23 @@ public class Location extends BaseElement implements IResource {
* Indicates whether a resource instance represents a specific location or a class of locations
* </p>
*/
public void setMode(CodeDt theValue) {
public void setMode(BoundCodeDt<LocationModeEnum> theValue) {
myMode = theValue;
}
/**
* Sets the value(s) for <b>mode</b> (instance | kind)
*
* <p>
* <b>Definition:</b>
* Indicates whether a resource instance represents a specific location or a class of locations
* </p>
*/
public void setMode(LocationModeEnum theValue) {
getMode().setValueAsEnum(theValue);
}
/**
* Block class for child element: <b>Location.position</b> (The absolute geographic location )
*
@ -511,8 +536,8 @@ public class Location extends BaseElement implements IResource {
public void setLongitude(DecimalDt theValue) {
myLongitude = theValue;
}
/**
* Gets the value(s) for <b>latitude</b> (Latitude as expressed in KML).
* creating it if it does
@ -541,8 +566,8 @@ public class Location extends BaseElement implements IResource {
public void setLatitude(DecimalDt theValue) {
myLatitude = theValue;
}
/**
* Gets the value(s) for <b>altitude</b> (Altitude as expressed in KML).
* creating it if it does
@ -571,8 +596,8 @@ public class Location extends BaseElement implements IResource {
public void setAltitude(DecimalDt theValue) {
myAltitude = theValue;
}
}

View File

@ -17,10 +17,12 @@
package ca.uhn.fhir.model.dstu.resource;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Medication</b> Resource
@ -37,7 +39,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Medication")
public class Medication extends BaseElement implements IResource {
public class Medication extends BaseResource implements IResource {
@Child(name="name", type=StringDt.class, order=0, min=0, max=1)
private StringDt myName;
@ -55,7 +57,7 @@ public class Medication extends BaseElement implements IResource {
private ResourceReference myManufacturer;
@Child(name="kind", type=CodeDt.class, order=4, min=0, max=1)
private CodeDt myKind;
private BoundCodeDt<MedicationKindEnum> myKind;
@Child(name="product", order=5, min=0, max=1)
private Product myProduct;
@ -91,8 +93,8 @@ public class Medication extends BaseElement implements IResource {
public void setName(StringDt theValue) {
myName = theValue;
}
/**
/**
* Sets the value(s) for <b>name</b> (Common / Commercial name)
*
* <p>
@ -132,8 +134,8 @@ public class Medication extends BaseElement implements IResource {
public void setCode(CodeableConceptDt theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>isBrand</b> (True if a brand).
* creating it if it does
@ -162,8 +164,8 @@ public class Medication extends BaseElement implements IResource {
public void setIsBrand(BooleanDt theValue) {
myIsBrand = theValue;
}
/**
* Gets the value(s) for <b>manufacturer</b> (Manufacturer of the item).
* creating it if it does
@ -192,8 +194,8 @@ public class Medication extends BaseElement implements IResource {
public void setManufacturer(ResourceReference theValue) {
myManufacturer = theValue;
}
/**
* Gets the value(s) for <b>kind</b> (product | package).
* creating it if it does
@ -204,9 +206,9 @@ public class Medication extends BaseElement implements IResource {
* Medications are either a single administrable product or a package that contains one or more products.
* </p>
*/
public CodeDt getKind() {
public BoundCodeDt<MedicationKindEnum> getKind() {
if (myKind == null) {
myKind = new CodeDt();
myKind = new BoundCodeDt<MedicationKindEnum>(MedicationKindEnum.VALUESET_BINDER);
}
return myKind;
}
@ -219,11 +221,23 @@ public class Medication extends BaseElement implements IResource {
* Medications are either a single administrable product or a package that contains one or more products.
* </p>
*/
public void setKind(CodeDt theValue) {
public void setKind(BoundCodeDt<MedicationKindEnum> theValue) {
myKind = theValue;
}
/**
* Sets the value(s) for <b>kind</b> (product | package)
*
* <p>
* <b>Definition:</b>
* Medications are either a single administrable product or a package that contains one or more products.
* </p>
*/
public void setKind(MedicationKindEnum theValue) {
getKind().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>product</b> (Administrable medication details).
* creating it if it does
@ -252,8 +266,8 @@ public class Medication extends BaseElement implements IResource {
public void setProduct(Product theValue) {
myProduct = theValue;
}
/**
* Gets the value(s) for <b>package</b> (Details about packaged medications).
* creating it if it does
@ -282,8 +296,8 @@ public class Medication extends BaseElement implements IResource {
public void setPackage(CodeDt theValue) {
myPackage = theValue;
}
/**
* Block class for child element: <b>Medication.product</b> (Administrable medication details)
*
@ -329,8 +343,8 @@ public class Medication extends BaseElement implements IResource {
public void setForm(CodeableConceptDt theValue) {
myForm = theValue;
}
/**
* Gets the value(s) for <b>ingredient</b> (Active or inactive ingredient).
* creating it if it does
@ -359,8 +373,8 @@ public class Medication extends BaseElement implements IResource {
public void setIngredient(List<ProductIngredient> theValue) {
myIngredient = theValue;
}
}
@ -410,8 +424,8 @@ public class Medication extends BaseElement implements IResource {
public void setItem(ResourceReference theValue) {
myItem = theValue;
}
/**
* Gets the value(s) for <b>amount</b> (How much ingredient in product).
* creating it if it does
@ -440,8 +454,8 @@ public class Medication extends BaseElement implements IResource {
public void setAmount(RatioDt theValue) {
myAmount = theValue;
}
}

View File

@ -17,10 +17,12 @@
package ca.uhn.fhir.model.dstu.resource;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Observation</b> Resource
@ -37,7 +39,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Observation")
public class Observation extends BaseElement implements IResource {
public class Observation extends BaseResource implements IResource {
@Child(name="name", type=CodeableConceptDt.class, order=0, min=1, max=1)
private CodeableConceptDt myName;
@ -69,10 +71,10 @@ public class Observation extends BaseElement implements IResource {
private InstantDt myIssued;
@Child(name="status", type=CodeDt.class, order=6, min=1, max=1)
private CodeDt myStatus;
private BoundCodeDt<ObservationStatusEnum> myStatus;
@Child(name="reliability", type=CodeDt.class, order=7, min=1, max=1)
private CodeDt myReliability;
private BoundCodeDt<ObservationReliabilityEnum> myReliability;
@Child(name="bodySite", type=CodeableConceptDt.class, order=8, min=0, max=1)
private CodeableConceptDt myBodySite;
@ -140,8 +142,8 @@ public class Observation extends BaseElement implements IResource {
public void setName(CodeableConceptDt theValue) {
myName = theValue;
}
/**
* Gets the value(s) for <b>value[x]</b> (Actual result).
* creating it if it does
@ -167,8 +169,8 @@ public class Observation extends BaseElement implements IResource {
public void setValue(IDatatype theValue) {
myValue = theValue;
}
/**
* Gets the value(s) for <b>interpretation</b> (High, low, normal, etc.).
* creating it if it does
@ -197,8 +199,8 @@ public class Observation extends BaseElement implements IResource {
public void setInterpretation(CodeableConceptDt theValue) {
myInterpretation = theValue;
}
/**
* Gets the value(s) for <b>comments</b> (Comments about result).
* creating it if it does
@ -227,8 +229,8 @@ public class Observation extends BaseElement implements IResource {
public void setComments(StringDt theValue) {
myComments = theValue;
}
/**
/**
* Sets the value(s) for <b>comments</b> (Comments about result)
*
* <p>
@ -265,8 +267,8 @@ public class Observation extends BaseElement implements IResource {
public void setApplies(IDatatype theValue) {
myApplies = theValue;
}
/**
* Gets the value(s) for <b>issued</b> (Date/Time this was made available).
* creating it if it does
@ -295,8 +297,8 @@ public class Observation extends BaseElement implements IResource {
public void setIssued(InstantDt theValue) {
myIssued = theValue;
}
/**
* Gets the value(s) for <b>status</b> (registered | preliminary | final | amended +).
* creating it if it does
@ -307,9 +309,9 @@ public class Observation extends BaseElement implements IResource {
* The status of the result value
* </p>
*/
public CodeDt getStatus() {
public BoundCodeDt<ObservationStatusEnum> getStatus() {
if (myStatus == null) {
myStatus = new CodeDt();
myStatus = new BoundCodeDt<ObservationStatusEnum>(ObservationStatusEnum.VALUESET_BINDER);
}
return myStatus;
}
@ -322,11 +324,23 @@ public class Observation extends BaseElement implements IResource {
* The status of the result value
* </p>
*/
public void setStatus(CodeDt theValue) {
public void setStatus(BoundCodeDt<ObservationStatusEnum> theValue) {
myStatus = theValue;
}
/**
* Sets the value(s) for <b>status</b> (registered | preliminary | final | amended +)
*
* <p>
* <b>Definition:</b>
* The status of the result value
* </p>
*/
public void setStatus(ObservationStatusEnum theValue) {
getStatus().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>reliability</b> (ok | ongoing | early | questionable | calibrating | error + ).
* creating it if it does
@ -337,9 +351,9 @@ public class Observation extends BaseElement implements IResource {
* An estimate of the degree to which quality issues have impacted on the value reported
* </p>
*/
public CodeDt getReliability() {
public BoundCodeDt<ObservationReliabilityEnum> getReliability() {
if (myReliability == null) {
myReliability = new CodeDt();
myReliability = new BoundCodeDt<ObservationReliabilityEnum>(ObservationReliabilityEnum.VALUESET_BINDER);
}
return myReliability;
}
@ -352,11 +366,23 @@ public class Observation extends BaseElement implements IResource {
* An estimate of the degree to which quality issues have impacted on the value reported
* </p>
*/
public void setReliability(CodeDt theValue) {
public void setReliability(BoundCodeDt<ObservationReliabilityEnum> theValue) {
myReliability = theValue;
}
/**
* Sets the value(s) for <b>reliability</b> (ok | ongoing | early | questionable | calibrating | error + )
*
* <p>
* <b>Definition:</b>
* An estimate of the degree to which quality issues have impacted on the value reported
* </p>
*/
public void setReliability(ObservationReliabilityEnum theValue) {
getReliability().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>bodySite</b> (Observed body part).
* creating it if it does
@ -385,8 +411,8 @@ public class Observation extends BaseElement implements IResource {
public void setBodySite(CodeableConceptDt theValue) {
myBodySite = theValue;
}
/**
* Gets the value(s) for <b>method</b> (How it was done).
* creating it if it does
@ -415,8 +441,8 @@ public class Observation extends BaseElement implements IResource {
public void setMethod(CodeableConceptDt theValue) {
myMethod = theValue;
}
/**
* Gets the value(s) for <b>identifier</b> (Unique Id for this particular observation).
* creating it if it does
@ -445,8 +471,8 @@ public class Observation extends BaseElement implements IResource {
public void setIdentifier(IdentifierDt theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>subject</b> (Who and/or what this is about).
* creating it if it does
@ -472,8 +498,8 @@ public class Observation extends BaseElement implements IResource {
public void setSubject(ResourceReference theValue) {
mySubject = theValue;
}
/**
* Gets the value(s) for <b>specimen</b> (Specimen used for this observation).
* creating it if it does
@ -502,8 +528,8 @@ public class Observation extends BaseElement implements IResource {
public void setSpecimen(ResourceReference theValue) {
mySpecimen = theValue;
}
/**
* Gets the value(s) for <b>performer</b> (Who did the observation).
* creating it if it does
@ -529,8 +555,8 @@ public class Observation extends BaseElement implements IResource {
public void setPerformer(List<ResourceReference> theValue) {
myPerformer = theValue;
}
/**
* Gets the value(s) for <b>referenceRange</b> (Provides guide for interpretation).
* creating it if it does
@ -559,8 +585,8 @@ public class Observation extends BaseElement implements IResource {
public void setReferenceRange(List<ReferenceRange> theValue) {
myReferenceRange = theValue;
}
/**
* Gets the value(s) for <b>related</b> (Observations related to this observation).
* creating it if it does
@ -589,8 +615,8 @@ public class Observation extends BaseElement implements IResource {
public void setRelated(List<Related> theValue) {
myRelated = theValue;
}
/**
* Block class for child element: <b>Observation.referenceRange</b> (Provides guide for interpretation)
*
@ -642,8 +668,8 @@ public class Observation extends BaseElement implements IResource {
public void setLow(QuantityDt theValue) {
myLow = theValue;
}
/**
* Gets the value(s) for <b>high</b> (High Range, if relevant).
* creating it if it does
@ -672,8 +698,8 @@ public class Observation extends BaseElement implements IResource {
public void setHigh(QuantityDt theValue) {
myHigh = theValue;
}
/**
* Gets the value(s) for <b>meaning</b> (Indicates the meaning/use of this range of this range).
* creating it if it does
@ -702,8 +728,8 @@ public class Observation extends BaseElement implements IResource {
public void setMeaning(CodeableConceptDt theValue) {
myMeaning = theValue;
}
/**
* Gets the value(s) for <b>age</b> (Applicable age range, if relevant).
* creating it if it does
@ -732,8 +758,8 @@ public class Observation extends BaseElement implements IResource {
public void setAge(RangeDt theValue) {
myAge = theValue;
}
}
@ -750,7 +776,7 @@ public class Observation extends BaseElement implements IResource {
public static class Related extends BaseElement implements IResourceBlock {
@Child(name="type", type=CodeDt.class, order=0, min=0, max=1)
private CodeDt myType;
private BoundCodeDt<ObservationRelationshipTypeEnum> myType;
@Child(name="target", order=1, min=1, max=1)
@ChildResource(types= {
@ -768,9 +794,9 @@ public class Observation extends BaseElement implements IResource {
* A code specifying the kind of relationship that exists with the target observation
* </p>
*/
public CodeDt getType() {
public BoundCodeDt<ObservationRelationshipTypeEnum> getType() {
if (myType == null) {
myType = new CodeDt();
myType = new BoundCodeDt<ObservationRelationshipTypeEnum>(ObservationRelationshipTypeEnum.VALUESET_BINDER);
}
return myType;
}
@ -783,11 +809,23 @@ public class Observation extends BaseElement implements IResource {
* A code specifying the kind of relationship that exists with the target observation
* </p>
*/
public void setType(CodeDt theValue) {
public void setType(BoundCodeDt<ObservationRelationshipTypeEnum> theValue) {
myType = theValue;
}
/**
* Sets the value(s) for <b>type</b> (has-component | has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by)
*
* <p>
* <b>Definition:</b>
* A code specifying the kind of relationship that exists with the target observation
* </p>
*/
public void setType(ObservationRelationshipTypeEnum theValue) {
getType().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>target</b> (Observation that is related to this one).
* creating it if it does
@ -816,8 +854,8 @@ public class Observation extends BaseElement implements IResource {
public void setTarget(ResourceReference theValue) {
myTarget = theValue;
}
}

View File

@ -21,6 +21,7 @@ import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Organization</b> Resource
@ -37,7 +38,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Organization")
public class Organization extends BaseElement implements IResource {
public class Organization extends BaseResource implements IResource {
@Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED)
private List<IdentifierDt> myIdentifier;
@ -100,8 +101,8 @@ public class Organization extends BaseElement implements IResource {
public void setIdentifier(List<IdentifierDt> theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>name</b> (Name used for the organization).
* creating it if it does
@ -130,8 +131,8 @@ public class Organization extends BaseElement implements IResource {
public void setName(StringDt theValue) {
myName = theValue;
}
/**
/**
* Sets the value(s) for <b>name</b> (Name used for the organization)
*
* <p>
@ -171,8 +172,8 @@ public class Organization extends BaseElement implements IResource {
public void setType(CodeableConceptDt theValue) {
myType = theValue;
}
/**
* Gets the value(s) for <b>telecom</b> (A contact detail for the organization).
* creating it if it does
@ -201,8 +202,8 @@ public class Organization extends BaseElement implements IResource {
public void setTelecom(List<ContactDt> theValue) {
myTelecom = theValue;
}
/**
* Gets the value(s) for <b>address</b> (An address for the organization).
* creating it if it does
@ -231,8 +232,8 @@ public class Organization extends BaseElement implements IResource {
public void setAddress(List<AddressDt> theValue) {
myAddress = theValue;
}
/**
* Gets the value(s) for <b>partOf</b> (The organization of which this organization forms a part).
* creating it if it does
@ -261,8 +262,8 @@ public class Organization extends BaseElement implements IResource {
public void setPartOf(ResourceReference theValue) {
myPartOf = theValue;
}
/**
* Gets the value(s) for <b>contact</b> (Contact for the organization for a certain purpose).
* creating it if it does
@ -291,8 +292,8 @@ public class Organization extends BaseElement implements IResource {
public void setContact(List<Contact> theValue) {
myContact = theValue;
}
/**
* Gets the value(s) for <b>location</b> (Location(s) the organization uses to provide services).
* creating it if it does
@ -321,8 +322,8 @@ public class Organization extends BaseElement implements IResource {
public void setLocation(List<ResourceReference> theValue) {
myLocation = theValue;
}
/**
* Gets the value(s) for <b>active</b> (Whether the organization's record is still in active use).
* creating it if it does
@ -351,8 +352,8 @@ public class Organization extends BaseElement implements IResource {
public void setActive(BooleanDt theValue) {
myActive = theValue;
}
/**
* Block class for child element: <b>Organization.contact</b> (Contact for the organization for a certain purpose)
*
@ -407,8 +408,8 @@ public class Organization extends BaseElement implements IResource {
public void setPurpose(CodeableConceptDt theValue) {
myPurpose = theValue;
}
/**
* Gets the value(s) for <b>name</b> (A name associated with the contact).
* creating it if it does
@ -437,8 +438,8 @@ public class Organization extends BaseElement implements IResource {
public void setName(HumanNameDt theValue) {
myName = theValue;
}
/**
* Gets the value(s) for <b>telecom</b> (Contact details (telephone, email, etc) for a contact).
* creating it if it does
@ -467,8 +468,8 @@ public class Organization extends BaseElement implements IResource {
public void setTelecom(List<ContactDt> theValue) {
myTelecom = theValue;
}
/**
* Gets the value(s) for <b>address</b> (Visiting or postal addresses for the contact).
* creating it if it does
@ -497,8 +498,8 @@ public class Organization extends BaseElement implements IResource {
public void setAddress(AddressDt theValue) {
myAddress = theValue;
}
/**
* Gets the value(s) for <b>gender</b> (Gender for administrative purposes).
* creating it if it does
@ -527,8 +528,8 @@ public class Organization extends BaseElement implements IResource {
public void setGender(CodeableConceptDt theValue) {
myGender = theValue;
}
}

View File

@ -17,10 +17,12 @@
package ca.uhn.fhir.model.dstu.resource;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Patient</b> Resource
@ -37,7 +39,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Patient")
public class Patient extends BaseElement implements IResource {
public class Patient extends BaseResource implements IResource {
@Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED)
private List<IdentifierDt> myIdentifier;
@ -131,8 +133,8 @@ public class Patient extends BaseElement implements IResource {
public void setIdentifier(List<IdentifierDt> theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>name</b> (A name associated with the patient).
* creating it if it does
@ -161,8 +163,8 @@ public class Patient extends BaseElement implements IResource {
public void setName(List<HumanNameDt> theValue) {
myName = theValue;
}
/**
* Gets the value(s) for <b>telecom</b> (A contact detail for the individual).
* creating it if it does
@ -191,8 +193,8 @@ public class Patient extends BaseElement implements IResource {
public void setTelecom(List<ContactDt> theValue) {
myTelecom = theValue;
}
/**
* Gets the value(s) for <b>gender</b> (Gender for administrative purposes).
* creating it if it does
@ -221,8 +223,8 @@ public class Patient extends BaseElement implements IResource {
public void setGender(CodeableConceptDt theValue) {
myGender = theValue;
}
/**
* Gets the value(s) for <b>birthDate</b> (The date and time of birth for the individual).
* creating it if it does
@ -251,8 +253,8 @@ public class Patient extends BaseElement implements IResource {
public void setBirthDate(DateTimeDt theValue) {
myBirthDate = theValue;
}
/**
/**
* Sets the value(s) for <b>birthDate</b> (The date and time of birth for the individual)
*
* <p>
@ -289,8 +291,8 @@ public class Patient extends BaseElement implements IResource {
public void setDeceased(IDatatype theValue) {
myDeceased = theValue;
}
/**
* Gets the value(s) for <b>address</b> (Addresses for the individual).
* creating it if it does
@ -319,8 +321,8 @@ public class Patient extends BaseElement implements IResource {
public void setAddress(List<AddressDt> theValue) {
myAddress = theValue;
}
/**
* Gets the value(s) for <b>maritalStatus</b> (Marital (civil) status of a person).
* creating it if it does
@ -349,8 +351,8 @@ public class Patient extends BaseElement implements IResource {
public void setMaritalStatus(CodeableConceptDt theValue) {
myMaritalStatus = theValue;
}
/**
* Gets the value(s) for <b>multipleBirth[x]</b> (Whether patient is part of a multiple birth).
* creating it if it does
@ -376,8 +378,8 @@ public class Patient extends BaseElement implements IResource {
public void setMultipleBirth(IDatatype theValue) {
myMultipleBirth = theValue;
}
/**
* Gets the value(s) for <b>photo</b> (Image of the person).
* creating it if it does
@ -406,8 +408,8 @@ public class Patient extends BaseElement implements IResource {
public void setPhoto(List<AttachmentDt> theValue) {
myPhoto = theValue;
}
/**
* Gets the value(s) for <b>contact</b> (A contact party (e.g. guardian, partner, friend) for the patient).
* creating it if it does
@ -436,8 +438,8 @@ public class Patient extends BaseElement implements IResource {
public void setContact(List<Contact> theValue) {
myContact = theValue;
}
/**
* Gets the value(s) for <b>animal</b> (If this patient is an animal (non-human)).
* creating it if it does
@ -466,8 +468,8 @@ public class Patient extends BaseElement implements IResource {
public void setAnimal(Animal theValue) {
myAnimal = theValue;
}
/**
* Gets the value(s) for <b>communication</b> (Languages which may be used to communicate with the patient about his or her health).
* creating it if it does
@ -496,8 +498,8 @@ public class Patient extends BaseElement implements IResource {
public void setCommunication(List<CodeableConceptDt> theValue) {
myCommunication = theValue;
}
/**
* Gets the value(s) for <b>careProvider</b> (Patient's nominated care provider).
* creating it if it does
@ -523,8 +525,8 @@ public class Patient extends BaseElement implements IResource {
public void setCareProvider(List<ResourceReference> theValue) {
myCareProvider = theValue;
}
/**
* Gets the value(s) for <b>managingOrganization</b> (Organization that is the custodian of the patient record).
* creating it if it does
@ -553,8 +555,8 @@ public class Patient extends BaseElement implements IResource {
public void setManagingOrganization(ResourceReference theValue) {
myManagingOrganization = theValue;
}
/**
* Gets the value(s) for <b>link</b> (Link to another patient resource that concerns the same actual person).
* creating it if it does
@ -583,8 +585,8 @@ public class Patient extends BaseElement implements IResource {
public void setLink(List<Link> theValue) {
myLink = theValue;
}
/**
* Gets the value(s) for <b>active</b> (Whether this patient's record is in active use).
* creating it if it does
@ -613,8 +615,8 @@ public class Patient extends BaseElement implements IResource {
public void setActive(BooleanDt theValue) {
myActive = theValue;
}
/**
* Block class for child element: <b>Patient.contact</b> (A contact party (e.g. guardian, partner, friend) for the patient)
*
@ -675,8 +677,8 @@ public class Patient extends BaseElement implements IResource {
public void setRelationship(List<CodeableConceptDt> theValue) {
myRelationship = theValue;
}
/**
* Gets the value(s) for <b>name</b> (A name associated with the person).
* creating it if it does
@ -705,8 +707,8 @@ public class Patient extends BaseElement implements IResource {
public void setName(HumanNameDt theValue) {
myName = theValue;
}
/**
* Gets the value(s) for <b>telecom</b> (A contact detail for the person).
* creating it if it does
@ -735,8 +737,8 @@ public class Patient extends BaseElement implements IResource {
public void setTelecom(List<ContactDt> theValue) {
myTelecom = theValue;
}
/**
* Gets the value(s) for <b>address</b> (Address for the contact person).
* creating it if it does
@ -765,8 +767,8 @@ public class Patient extends BaseElement implements IResource {
public void setAddress(AddressDt theValue) {
myAddress = theValue;
}
/**
* Gets the value(s) for <b>gender</b> (Gender for administrative purposes).
* creating it if it does
@ -795,8 +797,8 @@ public class Patient extends BaseElement implements IResource {
public void setGender(CodeableConceptDt theValue) {
myGender = theValue;
}
/**
* Gets the value(s) for <b>organization</b> (Organization that is associated with the contact).
* creating it if it does
@ -825,8 +827,8 @@ public class Patient extends BaseElement implements IResource {
public void setOrganization(ResourceReference theValue) {
myOrganization = theValue;
}
}
@ -879,8 +881,8 @@ public class Patient extends BaseElement implements IResource {
public void setSpecies(CodeableConceptDt theValue) {
mySpecies = theValue;
}
/**
* Gets the value(s) for <b>breed</b> (E.g. Poodle, Angus).
* creating it if it does
@ -909,8 +911,8 @@ public class Patient extends BaseElement implements IResource {
public void setBreed(CodeableConceptDt theValue) {
myBreed = theValue;
}
/**
* Gets the value(s) for <b>genderStatus</b> (E.g. Neutered, Intact).
* creating it if it does
@ -939,8 +941,8 @@ public class Patient extends BaseElement implements IResource {
public void setGenderStatus(CodeableConceptDt theValue) {
myGenderStatus = theValue;
}
}
@ -963,7 +965,7 @@ public class Patient extends BaseElement implements IResource {
private ResourceReference myOther;
@Child(name="type", type=CodeDt.class, order=1, min=1, max=1)
private CodeDt myType;
private BoundCodeDt<LinkTypeEnum> myType;
/**
* Gets the value(s) for <b>other</b> (The other patient resource that the link refers to).
@ -993,8 +995,8 @@ public class Patient extends BaseElement implements IResource {
public void setOther(ResourceReference theValue) {
myOther = theValue;
}
/**
* Gets the value(s) for <b>type</b> (replace | refer | seealso - type of link).
* creating it if it does
@ -1005,9 +1007,9 @@ public class Patient extends BaseElement implements IResource {
* The type of link between this patient resource and another patient resource.
* </p>
*/
public CodeDt getType() {
public BoundCodeDt<LinkTypeEnum> getType() {
if (myType == null) {
myType = new CodeDt();
myType = new BoundCodeDt<LinkTypeEnum>(LinkTypeEnum.VALUESET_BINDER);
}
return myType;
}
@ -1020,11 +1022,23 @@ public class Patient extends BaseElement implements IResource {
* The type of link between this patient resource and another patient resource.
* </p>
*/
public void setType(CodeDt theValue) {
public void setType(BoundCodeDt<LinkTypeEnum> theValue) {
myType = theValue;
}
/**
* Sets the value(s) for <b>type</b> (replace | refer | seealso - type of link)
*
* <p>
* <b>Definition:</b>
* The type of link between this patient resource and another patient resource.
* </p>
*/
public void setType(LinkTypeEnum theValue) {
getType().setValueAsEnum(theValue);
}
}

View File

@ -17,10 +17,12 @@
package ca.uhn.fhir.model.dstu.resource;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Practitioner</b> Resource
@ -37,7 +39,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Practitioner")
public class Practitioner extends BaseElement implements IResource {
public class Practitioner extends BaseResource implements IResource {
@Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED)
private List<IdentifierDt> myIdentifier;
@ -115,8 +117,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setIdentifier(List<IdentifierDt> theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>name</b> (A name associated with the person).
* creating it if it does
@ -145,8 +147,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setName(HumanNameDt theValue) {
myName = theValue;
}
/**
* Gets the value(s) for <b>telecom</b> (A contact detail for the practitioner).
* creating it if it does
@ -175,8 +177,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setTelecom(List<ContactDt> theValue) {
myTelecom = theValue;
}
/**
* Gets the value(s) for <b>address</b> (Where practitioner can be found/visited).
* creating it if it does
@ -205,8 +207,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setAddress(AddressDt theValue) {
myAddress = theValue;
}
/**
* Gets the value(s) for <b>gender</b> (Gender for administrative purposes).
* creating it if it does
@ -235,8 +237,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setGender(CodeableConceptDt theValue) {
myGender = theValue;
}
/**
* Gets the value(s) for <b>birthDate</b> (The date and time of birth for the practitioner).
* creating it if it does
@ -265,8 +267,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setBirthDate(DateTimeDt theValue) {
myBirthDate = theValue;
}
/**
/**
* Sets the value(s) for <b>birthDate</b> (The date and time of birth for the practitioner)
*
* <p>
@ -306,8 +308,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setPhoto(List<AttachmentDt> theValue) {
myPhoto = theValue;
}
/**
* Gets the value(s) for <b>organization</b> (The represented organization).
* creating it if it does
@ -336,8 +338,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setOrganization(ResourceReference theValue) {
myOrganization = theValue;
}
/**
* Gets the value(s) for <b>role</b> (Roles which this practitioner may perform).
* creating it if it does
@ -366,8 +368,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setRole(List<CodeableConceptDt> theValue) {
myRole = theValue;
}
/**
* Gets the value(s) for <b>specialty</b> (Specific specialty of the practitioner).
* creating it if it does
@ -396,8 +398,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setSpecialty(List<CodeableConceptDt> theValue) {
mySpecialty = theValue;
}
/**
* Gets the value(s) for <b>period</b> (The period during which the practitioner is authorized to perform in these role(s)).
* creating it if it does
@ -426,8 +428,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setPeriod(PeriodDt theValue) {
myPeriod = theValue;
}
/**
* Gets the value(s) for <b>location</b> (The location(s) at which this practitioner provides care).
* creating it if it does
@ -456,8 +458,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setLocation(List<ResourceReference> theValue) {
myLocation = theValue;
}
/**
* Gets the value(s) for <b>qualification</b> (Qualifications obtained by training and certification).
* creating it if it does
@ -486,8 +488,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setQualification(List<Qualification> theValue) {
myQualification = theValue;
}
/**
* Gets the value(s) for <b>communication</b> (A language the practitioner is able to use in patient communication).
* creating it if it does
@ -516,8 +518,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setCommunication(List<CodeableConceptDt> theValue) {
myCommunication = theValue;
}
/**
* Block class for child element: <b>Practitioner.qualification</b> (Qualifications obtained by training and certification)
*
@ -569,8 +571,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setCode(CodeableConceptDt theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>period</b> (Period during which the qualification is valid).
* creating it if it does
@ -599,8 +601,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setPeriod(PeriodDt theValue) {
myPeriod = theValue;
}
/**
* Gets the value(s) for <b>issuer</b> (Organization that regulates and issues the qualification).
* creating it if it does
@ -629,8 +631,8 @@ public class Practitioner extends BaseElement implements IResource {
public void setIssuer(ResourceReference theValue) {
myIssuer = theValue;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -17,10 +17,12 @@
package ca.uhn.fhir.model.dstu.resource;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Specimen</b> Resource
@ -37,7 +39,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Specimen")
public class Specimen extends BaseElement implements IResource {
public class Specimen extends BaseResource implements IResource {
@Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED)
private List<IdentifierDt> myIdentifier;
@ -100,8 +102,8 @@ public class Specimen extends BaseElement implements IResource {
public void setIdentifier(List<IdentifierDt> theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>type</b> (Kind of material that forms the specimen).
* creating it if it does
@ -130,8 +132,8 @@ public class Specimen extends BaseElement implements IResource {
public void setType(CodeableConceptDt theValue) {
myType = theValue;
}
/**
* Gets the value(s) for <b>source</b> (Parent of specimen).
* creating it if it does
@ -160,8 +162,8 @@ public class Specimen extends BaseElement implements IResource {
public void setSource(List<Source> theValue) {
mySource = theValue;
}
/**
* Gets the value(s) for <b>subject</b> (Where the specimen came from. This may be the patient(s) or from the environment or a device).
* creating it if it does
@ -187,8 +189,8 @@ public class Specimen extends BaseElement implements IResource {
public void setSubject(ResourceReference theValue) {
mySubject = theValue;
}
/**
* Gets the value(s) for <b>accessionIdentifier</b> (Identifier assigned by the lab).
* creating it if it does
@ -217,8 +219,8 @@ public class Specimen extends BaseElement implements IResource {
public void setAccessionIdentifier(IdentifierDt theValue) {
myAccessionIdentifier = theValue;
}
/**
* Gets the value(s) for <b>receivedTime</b> (The time when specimen was received for processing).
* creating it if it does
@ -247,8 +249,8 @@ public class Specimen extends BaseElement implements IResource {
public void setReceivedTime(DateTimeDt theValue) {
myReceivedTime = theValue;
}
/**
/**
* Sets the value(s) for <b>receivedTime</b> (The time when specimen was received for processing)
*
* <p>
@ -288,8 +290,8 @@ public class Specimen extends BaseElement implements IResource {
public void setCollection(Collection theValue) {
myCollection = theValue;
}
/**
* Gets the value(s) for <b>treatment</b> (Treatment and processing step details).
* creating it if it does
@ -318,8 +320,8 @@ public class Specimen extends BaseElement implements IResource {
public void setTreatment(List<Treatment> theValue) {
myTreatment = theValue;
}
/**
* Gets the value(s) for <b>container</b> (Direct container of specimen (tube/slide, etc)).
* creating it if it does
@ -348,8 +350,8 @@ public class Specimen extends BaseElement implements IResource {
public void setContainer(List<Container> theValue) {
myContainer = theValue;
}
/**
* Block class for child element: <b>Specimen.source</b> (Parent of specimen)
*
@ -362,7 +364,7 @@ public class Specimen extends BaseElement implements IResource {
public static class Source extends BaseElement implements IResourceBlock {
@Child(name="relationship", type=CodeDt.class, order=0, min=1, max=1)
private CodeDt myRelationship;
private BoundCodeDt<HierarchicalRelationshipTypeEnum> myRelationship;
@Child(name="target", order=1, min=0, max=Child.MAX_UNLIMITED)
@ChildResource(types= {
@ -380,9 +382,9 @@ public class Specimen extends BaseElement implements IResource {
* Whether this relationship is to a parent or to a child
* </p>
*/
public CodeDt getRelationship() {
public BoundCodeDt<HierarchicalRelationshipTypeEnum> getRelationship() {
if (myRelationship == null) {
myRelationship = new CodeDt();
myRelationship = new BoundCodeDt<HierarchicalRelationshipTypeEnum>(HierarchicalRelationshipTypeEnum.VALUESET_BINDER);
}
return myRelationship;
}
@ -395,11 +397,23 @@ public class Specimen extends BaseElement implements IResource {
* Whether this relationship is to a parent or to a child
* </p>
*/
public void setRelationship(CodeDt theValue) {
public void setRelationship(BoundCodeDt<HierarchicalRelationshipTypeEnum> theValue) {
myRelationship = theValue;
}
/**
* Sets the value(s) for <b>relationship</b> (parent | child)
*
* <p>
* <b>Definition:</b>
* Whether this relationship is to a parent or to a child
* </p>
*/
public void setRelationship(HierarchicalRelationshipTypeEnum theValue) {
getRelationship().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>target</b> (The subject of the relationship).
* creating it if it does
@ -428,8 +442,8 @@ public class Specimen extends BaseElement implements IResource {
public void setTarget(List<ResourceReference> theValue) {
myTarget = theValue;
}
}
@ -497,8 +511,8 @@ public class Specimen extends BaseElement implements IResource {
public void setCollector(ResourceReference theValue) {
myCollector = theValue;
}
/**
* Gets the value(s) for <b>comment</b> (Collector comments).
* creating it if it does
@ -527,8 +541,8 @@ public class Specimen extends BaseElement implements IResource {
public void setComment(List<StringDt> theValue) {
myComment = theValue;
}
/**
/**
* Sets the value(s) for <b>comment</b> (Collector comments)
*
* <p>
@ -568,8 +582,8 @@ public class Specimen extends BaseElement implements IResource {
public void setCollected(IDatatype theValue) {
myCollected = theValue;
}
/**
* Gets the value(s) for <b>quantity</b> (The quantity of specimen collected).
* creating it if it does
@ -598,8 +612,8 @@ public class Specimen extends BaseElement implements IResource {
public void setQuantity(QuantityDt theValue) {
myQuantity = theValue;
}
/**
* Gets the value(s) for <b>method</b> (Technique used to perform collection).
* creating it if it does
@ -628,8 +642,8 @@ public class Specimen extends BaseElement implements IResource {
public void setMethod(CodeableConceptDt theValue) {
myMethod = theValue;
}
/**
* Gets the value(s) for <b>sourceSite</b> (Anatomical collection site).
* creating it if it does
@ -658,8 +672,8 @@ public class Specimen extends BaseElement implements IResource {
public void setSourceSite(CodeableConceptDt theValue) {
mySourceSite = theValue;
}
}
@ -715,8 +729,8 @@ public class Specimen extends BaseElement implements IResource {
public void setDescription(StringDt theValue) {
myDescription = theValue;
}
/**
/**
* Sets the value(s) for <b>description</b> (Textual description of procedure)
*
* <p>
@ -756,8 +770,8 @@ public class Specimen extends BaseElement implements IResource {
public void setProcedure(CodeableConceptDt theValue) {
myProcedure = theValue;
}
/**
* Gets the value(s) for <b>additive</b> (Material used in the processing step).
* creating it if it does
@ -786,8 +800,8 @@ public class Specimen extends BaseElement implements IResource {
public void setAdditive(List<ResourceReference> theValue) {
myAdditive = theValue;
}
}
@ -852,8 +866,8 @@ public class Specimen extends BaseElement implements IResource {
public void setIdentifier(List<IdentifierDt> theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>description</b> (Textual description of the container).
* creating it if it does
@ -882,8 +896,8 @@ public class Specimen extends BaseElement implements IResource {
public void setDescription(StringDt theValue) {
myDescription = theValue;
}
/**
/**
* Sets the value(s) for <b>description</b> (Textual description of the container)
*
* <p>
@ -923,8 +937,8 @@ public class Specimen extends BaseElement implements IResource {
public void setType(CodeableConceptDt theValue) {
myType = theValue;
}
/**
* Gets the value(s) for <b>capacity</b> (Container volume or size).
* creating it if it does
@ -953,8 +967,8 @@ public class Specimen extends BaseElement implements IResource {
public void setCapacity(QuantityDt theValue) {
myCapacity = theValue;
}
/**
* Gets the value(s) for <b>specimenQuantity</b> (Quantity of specimen within container).
* creating it if it does
@ -983,8 +997,8 @@ public class Specimen extends BaseElement implements IResource {
public void setSpecimenQuantity(QuantityDt theValue) {
mySpecimenQuantity = theValue;
}
/**
* Gets the value(s) for <b>additive</b> (Additive associated with container ).
* creating it if it does
@ -1013,8 +1027,8 @@ public class Specimen extends BaseElement implements IResource {
public void setAdditive(ResourceReference theValue) {
myAdditive = theValue;
}
}

View File

@ -17,10 +17,12 @@
package ca.uhn.fhir.model.dstu.resource;
import java.util.*;
import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>Substance</b> Resource
@ -37,7 +39,7 @@ import ca.uhn.fhir.model.dstu.composite.*;
* </p>
*/
@ResourceDef(name="Substance")
public class Substance extends BaseElement implements IResource {
public class Substance extends BaseResource implements IResource {
@Child(name="type", type=CodeableConceptDt.class, order=0, min=1, max=1)
private CodeableConceptDt myType;
@ -79,8 +81,8 @@ public class Substance extends BaseElement implements IResource {
public void setType(CodeableConceptDt theValue) {
myType = theValue;
}
/**
* Gets the value(s) for <b>description</b> (Textual description of the substance, comments).
* creating it if it does
@ -109,8 +111,8 @@ public class Substance extends BaseElement implements IResource {
public void setDescription(StringDt theValue) {
myDescription = theValue;
}
/**
/**
* Sets the value(s) for <b>description</b> (Textual description of the substance, comments)
*
* <p>
@ -150,8 +152,8 @@ public class Substance extends BaseElement implements IResource {
public void setInstance(Instance theValue) {
myInstance = theValue;
}
/**
* Gets the value(s) for <b>ingredient</b> (Composition information about the substance).
* creating it if it does
@ -180,8 +182,8 @@ public class Substance extends BaseElement implements IResource {
public void setIngredient(List<Ingredient> theValue) {
myIngredient = theValue;
}
/**
* Block class for child element: <b>Substance.instance</b> (If this describes a specific package/container of the substance)
*
@ -230,8 +232,8 @@ public class Substance extends BaseElement implements IResource {
public void setIdentifier(IdentifierDt theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>expiry</b> (When no longer valid to use).
* creating it if it does
@ -260,8 +262,8 @@ public class Substance extends BaseElement implements IResource {
public void setExpiry(DateTimeDt theValue) {
myExpiry = theValue;
}
/**
/**
* Sets the value(s) for <b>expiry</b> (When no longer valid to use)
*
* <p>
@ -301,8 +303,8 @@ public class Substance extends BaseElement implements IResource {
public void setQuantity(QuantityDt theValue) {
myQuantity = theValue;
}
}
@ -355,8 +357,8 @@ public class Substance extends BaseElement implements IResource {
public void setQuantity(RatioDt theValue) {
myQuantity = theValue;
}
/**
* Gets the value(s) for <b>substance</b> (A component of the substance).
* creating it if it does
@ -385,8 +387,8 @@ public class Substance extends BaseElement implements IResource {
public void setSubstance(ResourceReference theValue) {
mySubstance = theValue;
}
}

View File

@ -21,6 +21,7 @@ import ca.uhn.fhir.model.api.*;
import ca.uhn.fhir.model.api.annotation.*;
import ca.uhn.fhir.model.primitive.*;
import ca.uhn.fhir.model.dstu.composite.*;
import ca.uhn.fhir.model.dstu.valueset.*;
/**
* HAPI/FHIR <b>ValueSet</b> Resource
@ -61,7 +62,7 @@ public class ValueSet extends BaseResource implements IResource {
private StringDt myCopyright;
@Child(name="status", type=CodeDt.class, order=7, min=1, max=1)
private CodeDt myStatus;
private BoundCodeDt<ValueSetStatusEnum> myStatus;
@Child(name="experimental", type=BooleanDt.class, order=8, min=0, max=1)
private BooleanDt myExperimental;
@ -109,8 +110,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setIdentifier(StringDt theValue) {
myIdentifier = theValue;
}
/**
/**
* Sets the value(s) for <b>identifier</b> (Logical id to reference this value set)
*
* <p>
@ -150,8 +151,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setVersion(StringDt theValue) {
myVersion = theValue;
}
/**
/**
* Sets the value(s) for <b>version</b> (Logical id for this version of the value set)
*
* <p>
@ -191,8 +192,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setName(StringDt theValue) {
myName = theValue;
}
/**
/**
* Sets the value(s) for <b>name</b> (Informal name for this value set)
*
* <p>
@ -232,8 +233,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setPublisher(StringDt theValue) {
myPublisher = theValue;
}
/**
/**
* Sets the value(s) for <b>publisher</b> (Name of the publisher (Organization or individual))
*
* <p>
@ -273,8 +274,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setTelecom(List<ContactDt> theValue) {
myTelecom = theValue;
}
/**
* Gets the value(s) for <b>description</b> (Human language description of the value set).
* creating it if it does
@ -303,8 +304,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setDescription(StringDt theValue) {
myDescription = theValue;
}
/**
/**
* Sets the value(s) for <b>description</b> (Human language description of the value set)
*
* <p>
@ -344,8 +345,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setCopyright(StringDt theValue) {
myCopyright = theValue;
}
/**
/**
* Sets the value(s) for <b>copyright</b> (About the value set or its content)
*
* <p>
@ -368,9 +369,9 @@ public class ValueSet extends BaseResource implements IResource {
* The status of the value set
* </p>
*/
public CodeDt getStatus() {
public BoundCodeDt<ValueSetStatusEnum> getStatus() {
if (myStatus == null) {
myStatus = new CodeDt();
myStatus = new BoundCodeDt<ValueSetStatusEnum>(ValueSetStatusEnum.VALUESET_BINDER);
}
return myStatus;
}
@ -384,11 +385,24 @@ public class ValueSet extends BaseResource implements IResource {
* The status of the value set
* </p>
*/
public void setStatus(CodeDt theValue) {
public void setStatus(BoundCodeDt<ValueSetStatusEnum> theValue) {
myStatus = theValue;
}
/**
* Sets the value(s) for <b>status</b> (draft | active | retired
)
*
* <p>
* <b>Definition:</b>
* The status of the value set
* </p>
*/
public void setStatus(ValueSetStatusEnum theValue) {
getStatus().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>experimental</b> (If for testing purposes, not real usage).
* creating it if it does
@ -417,8 +431,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setExperimental(BooleanDt theValue) {
myExperimental = theValue;
}
/**
* Gets the value(s) for <b>extensible</b> (Whether this is intended to be used with an extensible binding).
* creating it if it does
@ -447,8 +461,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setExtensible(BooleanDt theValue) {
myExtensible = theValue;
}
/**
* Gets the value(s) for <b>date</b> (Date for given status).
* creating it if it does
@ -477,8 +491,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setDate(DateTimeDt theValue) {
myDate = theValue;
}
/**
/**
* Sets the value(s) for <b>date</b> (Date for given status)
*
* <p>
@ -518,8 +532,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setDefine(Define theValue) {
myDefine = theValue;
}
/**
* Gets the value(s) for <b>compose</b> (When value set includes codes from elsewhere).
* creating it if it does
@ -548,8 +562,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setCompose(Compose theValue) {
myCompose = theValue;
}
/**
* Gets the value(s) for <b>expansion</b> (When value set is an expansion).
* creating it if it does
@ -578,8 +592,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setExpansion(Expansion theValue) {
myExpansion = theValue;
}
/**
* Block class for child element: <b>ValueSet.define</b> (When value set defines its own codes)
*
@ -631,8 +645,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setSystem(UriDt theValue) {
mySystem = theValue;
}
/**
* Gets the value(s) for <b>version</b> (Version of this system).
* creating it if it does
@ -661,8 +675,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setVersion(StringDt theValue) {
myVersion = theValue;
}
/**
/**
* Sets the value(s) for <b>version</b> (Version of this system)
*
* <p>
@ -702,8 +716,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setCaseSensitive(BooleanDt theValue) {
myCaseSensitive = theValue;
}
/**
* Gets the value(s) for <b>concept</b> (Concepts in the code system).
* creating it if it does
@ -732,8 +746,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setConcept(List<DefineConcept> theValue) {
myConcept = theValue;
}
}
@ -791,8 +805,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setCode(CodeDt theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>abstract</b> (If this code is not for use as a real concept).
* creating it if it does
@ -821,8 +835,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setAbstract(BooleanDt theValue) {
myAbstract = theValue;
}
/**
* Gets the value(s) for <b>display</b> (Text to Display to the user).
* creating it if it does
@ -851,8 +865,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setDisplay(StringDt theValue) {
myDisplay = theValue;
}
/**
/**
* Sets the value(s) for <b>display</b> (Text to Display to the user)
*
* <p>
@ -892,8 +906,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setDefinition(StringDt theValue) {
myDefinition = theValue;
}
/**
/**
* Sets the value(s) for <b>definition</b> (Formal Definition)
*
* <p>
@ -933,8 +947,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setConcept(List<DefineConcept> theValue) {
myConcept = theValue;
}
}
@ -988,8 +1002,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setImport(List<UriDt> theValue) {
myImport = theValue;
}
/**
* Gets the value(s) for <b>include</b> (Include one or more codes from a code system).
* creating it if it does
@ -1018,8 +1032,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setInclude(List<ComposeInclude> theValue) {
myInclude = theValue;
}
/**
* Gets the value(s) for <b>exclude</b> (Explicitly exclude codes).
* creating it if it does
@ -1048,8 +1062,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setExclude(List<ComposeInclude> theValue) {
myExclude = theValue;
}
}
@ -1104,8 +1118,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setSystem(UriDt theValue) {
mySystem = theValue;
}
/**
* Gets the value(s) for <b>version</b> (Specific version of the code system referred to).
* creating it if it does
@ -1134,8 +1148,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setVersion(StringDt theValue) {
myVersion = theValue;
}
/**
/**
* Sets the value(s) for <b>version</b> (Specific version of the code system referred to)
*
* <p>
@ -1175,8 +1189,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setCode(List<CodeDt> theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>filter</b> (Select codes/concepts by their properties (including relationships)).
* creating it if it does
@ -1205,8 +1219,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setFilter(List<ComposeIncludeFilter> theValue) {
myFilter = theValue;
}
}
@ -1225,7 +1239,7 @@ public class ValueSet extends BaseResource implements IResource {
private CodeDt myProperty;
@Child(name="op", type=CodeDt.class, order=1, min=1, max=1)
private CodeDt myOp;
private BoundCodeDt<FilterOperatorEnum> myOp;
@Child(name="value", type=CodeDt.class, order=2, min=1, max=1)
private CodeDt myValue;
@ -1258,8 +1272,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setProperty(CodeDt theValue) {
myProperty = theValue;
}
/**
* Gets the value(s) for <b>op</b> (= | is-a | is-not-a | regex | in | not in).
* creating it if it does
@ -1270,9 +1284,9 @@ public class ValueSet extends BaseResource implements IResource {
* The kind of operation to perform as a part of the filter criteria
* </p>
*/
public CodeDt getOp() {
public BoundCodeDt<FilterOperatorEnum> getOp() {
if (myOp == null) {
myOp = new CodeDt();
myOp = new BoundCodeDt<FilterOperatorEnum>(FilterOperatorEnum.VALUESET_BINDER);
}
return myOp;
}
@ -1285,11 +1299,23 @@ public class ValueSet extends BaseResource implements IResource {
* The kind of operation to perform as a part of the filter criteria
* </p>
*/
public void setOp(CodeDt theValue) {
public void setOp(BoundCodeDt<FilterOperatorEnum> theValue) {
myOp = theValue;
}
/**
* Sets the value(s) for <b>op</b> (= | is-a | is-not-a | regex | in | not in)
*
* <p>
* <b>Definition:</b>
* The kind of operation to perform as a part of the filter criteria
* </p>
*/
public void setOp(FilterOperatorEnum theValue) {
getOp().setValueAsEnum(theValue);
}
/**
* Gets the value(s) for <b>value</b> (Code from the system, or regex criteria).
* creating it if it does
@ -1318,8 +1344,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setValue(CodeDt theValue) {
myValue = theValue;
}
}
@ -1374,8 +1400,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setIdentifier(IdentifierDt theValue) {
myIdentifier = theValue;
}
/**
* Gets the value(s) for <b>timestamp</b> (Time valueset expansion happened).
* creating it if it does
@ -1404,8 +1430,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setTimestamp(InstantDt theValue) {
myTimestamp = theValue;
}
/**
* Gets the value(s) for <b>contains</b> (Codes in the value set).
* creating it if it does
@ -1434,8 +1460,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setContains(List<ExpansionContains> theValue) {
myContains = theValue;
}
}
@ -1490,8 +1516,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setSystem(UriDt theValue) {
mySystem = theValue;
}
/**
* Gets the value(s) for <b>code</b> (Code - if blank, this is not a choosable code).
* creating it if it does
@ -1520,8 +1546,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setCode(CodeDt theValue) {
myCode = theValue;
}
/**
* Gets the value(s) for <b>display</b> (User display for the concept).
* creating it if it does
@ -1550,8 +1576,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setDisplay(StringDt theValue) {
myDisplay = theValue;
}
/**
/**
* Sets the value(s) for <b>display</b> (User display for the concept)
*
* <p>
@ -1591,8 +1617,8 @@ public class ValueSet extends BaseResource implements IResource {
public void setContains(List<ExpansionContains> theValue) {
myContains = theValue;
}
}

View File

@ -0,0 +1,103 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum AddressUseEnum {
/**
* home
*
*
* A communication address at a home.
*/
HOME("home"),
/**
* work
*
*
* An office address. First choice for business related contacts during business hours.
*/
WORK("work"),
/**
* temp
*
*
* A temporary address. The period can provide more detailed information.
*/
TEMP("temp"),
/**
* old
*
*
* This address is no longer in use (or was never correct, but retained for records).
*/
OLD("old"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/address-use
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/address-use";
/**
* Name for this Value Set:
* AddressUse
*/
public static final String VALUESET_NAME = "AddressUse";
private static Map<String, AddressUseEnum> CODE_TO_ENUM = new HashMap<String, AddressUseEnum>();
private String myCode;
static {
for (AddressUseEnum next : AddressUseEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public AddressUseEnum forCode(String theCode) {
AddressUseEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<AddressUseEnum> VALUESET_BINDER = new IValueSetEnumBinder<AddressUseEnum>() {
@Override
public String toCodeString(AddressUseEnum theEnum) {
return theEnum.getCode();
}
@Override
public AddressUseEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
AddressUseEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,87 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum AggregationModeEnum {
/**
* contained
*
*
* The reference is a local reference to a contained resource.
*/
CONTAINED("contained"),
/**
* referenced
*
*
* The reference to to a resource that has to be resolved externally to the resource that includes the reference.
*/
REFERENCED("referenced"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/resource-aggregation-mode
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/resource-aggregation-mode";
/**
* Name for this Value Set:
* AggregationMode
*/
public static final String VALUESET_NAME = "AggregationMode";
private static Map<String, AggregationModeEnum> CODE_TO_ENUM = new HashMap<String, AggregationModeEnum>();
private String myCode;
static {
for (AggregationModeEnum next : AggregationModeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public AggregationModeEnum forCode(String theCode) {
AggregationModeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<AggregationModeEnum> VALUESET_BINDER = new IValueSetEnumBinder<AggregationModeEnum>() {
@Override
public String toCodeString(AggregationModeEnum theEnum) {
return theEnum.getCode();
}
@Override
public AggregationModeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
AggregationModeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,95 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum AnimalSpeciesEnum {
/**
* canislf
* Dog
*
* Canis lupus familiaris
*/
CANISLF("canislf"),
/**
* ovisa
* Sheep
*
* Ovis aries
*/
OVISA("ovisa"),
/**
* serinuscd
* Domestic Canary
*
* Serinus canaria domestica
*/
SERINUSCD("serinuscd"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/animal-species
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/animal-species";
/**
* Name for this Value Set:
* AnimalSpecies
*/
public static final String VALUESET_NAME = "AnimalSpecies";
private static Map<String, AnimalSpeciesEnum> CODE_TO_ENUM = new HashMap<String, AnimalSpeciesEnum>();
private String myCode;
static {
for (AnimalSpeciesEnum next : AnimalSpeciesEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public AnimalSpeciesEnum forCode(String theCode) {
AnimalSpeciesEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<AnimalSpeciesEnum> VALUESET_BINDER = new IValueSetEnumBinder<AnimalSpeciesEnum>() {
@Override
public String toCodeString(AnimalSpeciesEnum theEnum) {
return theEnum.getCode();
}
@Override
public AnimalSpeciesEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
AnimalSpeciesEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,95 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum BindingConformanceEnum {
/**
* required
*
*
* Only codes in the specified set are allowed. If the binding is extensible, other codes may be used for concepts not covered by the bound set of codes.
*/
REQUIRED("required"),
/**
* preferred
*
*
* For greater interoperability, implementers are strongly encouraged to use the bound set of codes, however alternate codes may be used in derived profiles and implementations if necessary without being considered non-conformant.
*/
PREFERRED("preferred"),
/**
* example
*
*
* The codes in the set are an example to illustrate the meaning of the field. There is no particular preference for its use nor any assertion that the provided values are sufficient to meet implementation needs.
*/
EXAMPLE("example"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/binding-conformance
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/binding-conformance";
/**
* Name for this Value Set:
* BindingConformance
*/
public static final String VALUESET_NAME = "BindingConformance";
private static Map<String, BindingConformanceEnum> CODE_TO_ENUM = new HashMap<String, BindingConformanceEnum>();
private String myCode;
static {
for (BindingConformanceEnum next : BindingConformanceEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public BindingConformanceEnum forCode(String theCode) {
BindingConformanceEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<BindingConformanceEnum> VALUESET_BINDER = new IValueSetEnumBinder<BindingConformanceEnum>() {
@Override
public String toCodeString(BindingConformanceEnum theEnum) {
return theEnum.getCode();
}
@Override
public BindingConformanceEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
BindingConformanceEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,87 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ConstraintSeverityEnum {
/**
* error
*
*
* If the constraint is violated, the resource is not conformant.
*/
ERROR("error"),
/**
* warning
*
*
* If the constraint is violated, the resource is conformant, but it is not necessarily following best practice.
*/
WARNING("warning"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/constraint-severity
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/constraint-severity";
/**
* Name for this Value Set:
* ConstraintSeverity
*/
public static final String VALUESET_NAME = "ConstraintSeverity";
private static Map<String, ConstraintSeverityEnum> CODE_TO_ENUM = new HashMap<String, ConstraintSeverityEnum>();
private String myCode;
static {
for (ConstraintSeverityEnum next : ConstraintSeverityEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ConstraintSeverityEnum forCode(String theCode) {
ConstraintSeverityEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ConstraintSeverityEnum> VALUESET_BINDER = new IValueSetEnumBinder<ConstraintSeverityEnum>() {
@Override
public String toCodeString(ConstraintSeverityEnum theEnum) {
return theEnum.getCode();
}
@Override
public ConstraintSeverityEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ConstraintSeverityEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,103 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ContactSystemEnum {
/**
* phone
*
*
* The value is a telephone number used for voice calls. Use of full international numbers starting with + is recommended to enable automatic dialing support but not required.
*/
PHONE("phone"),
/**
* fax
*
*
* The value is a fax machine. Use of full international numbers starting with + is recommended to enable automatic dialing support but not required.
*/
FAX("fax"),
/**
* email
*
*
* The value is an email address.
*/
EMAIL("email"),
/**
* url
*
*
* The value is a url. This is intended for various personal contacts including blogs, Twitter, Facebook, etc. Do not use for email addresses.
*/
URL("url"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/contact-system
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/contact-system";
/**
* Name for this Value Set:
* ContactSystem
*/
public static final String VALUESET_NAME = "ContactSystem";
private static Map<String, ContactSystemEnum> CODE_TO_ENUM = new HashMap<String, ContactSystemEnum>();
private String myCode;
static {
for (ContactSystemEnum next : ContactSystemEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ContactSystemEnum forCode(String theCode) {
ContactSystemEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ContactSystemEnum> VALUESET_BINDER = new IValueSetEnumBinder<ContactSystemEnum>() {
@Override
public String toCodeString(ContactSystemEnum theEnum) {
return theEnum.getCode();
}
@Override
public ContactSystemEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ContactSystemEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,111 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ContactUseEnum {
/**
* home
*
*
* A communication contact at a home; attempted contacts for business purposes might intrude privacy and chances are one will contact family or other household members instead of the person one wishes to call. Typically used with urgent cases, or if no other contacts are available.
*/
HOME("home"),
/**
* work
*
*
* An office contact. First choice for business related contacts during business hours.
*/
WORK("work"),
/**
* temp
*
*
* A temporary contact. The period can provide more detailed information.
*/
TEMP("temp"),
/**
* old
*
*
* This contact is no longer in use (or was never correct, but retained for records).
*/
OLD("old"),
/**
* mobile
*
*
* A telecommunication device that moves and stays with its owner. May have characteristics of all other use codes, suitable for urgent matters, not the first choice for routine business.
*/
MOBILE("mobile"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/contact-use
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/contact-use";
/**
* Name for this Value Set:
* ContactUse
*/
public static final String VALUESET_NAME = "ContactUse";
private static Map<String, ContactUseEnum> CODE_TO_ENUM = new HashMap<String, ContactUseEnum>();
private String myCode;
static {
for (ContactUseEnum next : ContactUseEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ContactUseEnum forCode(String theCode) {
ContactUseEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ContactUseEnum> VALUESET_BINDER = new IValueSetEnumBinder<ContactUseEnum>() {
@Override
public String toCodeString(ContactUseEnum theEnum) {
return theEnum.getCode();
}
@Override
public ContactUseEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ContactUseEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,343 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum DataTypeEnum {
/**
* Address
*
*
* There is a variety of postal address formats defined around the world. This format defines a superset that is the basis for all addresses around the world.
*/
ADDRESS("Address"),
/**
* Age
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM. If value is present, it SHALL be positive.
*/
AGE("Age"),
/**
* Attachment
*
*
* For referring to data content defined in other formats.
*/
ATTACHMENT("Attachment"),
/**
* CodeableConcept
*
*
* A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
*/
CODEABLECONCEPT("CodeableConcept"),
/**
* Coding
*
*
* A reference to a code defined by a terminology system.
*/
CODING("Coding"),
/**
* Contact
*
*
* All kinds of technology mediated contact details for a person or organization, including telephone, email, etc.
*/
CONTACT("Contact"),
/**
* Count
*
*
* There SHALL be a code with a value of "1" if there is a value and it SHALL be an expression of length. If system is present, it SHALL be UCUM. If present, the value SHALL a whole number.
*/
COUNT("Count"),
/**
* Distance
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of length. If system is present, it SHALL be UCUM.
*/
DISTANCE("Distance"),
/**
* Duration
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM.
*/
DURATION("Duration"),
/**
* Extension
*
*
* Optional Extensions Element - found in all resources.
*/
EXTENSION("Extension"),
/**
* HumanName
*
*
* A human's name with the ability to identify parts and usage.
*/
HUMANNAME("HumanName"),
/**
* Identifier
*
*
* A technical identifier - identifies some entity uniquely and unambiguously.
*/
IDENTIFIER("Identifier"),
/**
* Money
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of currency. If system is present, it SHALL be ISO 4217 (system = "urn:std:iso:4217" - currency).
*/
MONEY("Money"),
/**
* Narrative
*
*
* A human-readable formatted text, including images.
*/
NARRATIVE("Narrative"),
/**
* Period
*
*
* A time period defined by a start and end date and optionally time.
*/
PERIOD("Period"),
/**
* Quantity
*
*
* A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
*/
QUANTITY("Quantity"),
/**
* Range
*
*
* A set of ordered Quantities defined by a low and high limit.
*/
RANGE("Range"),
/**
* Ratio
*
*
* A relationship of two Quantity values - expressed as a numerator and a denominator.
*/
RATIO("Ratio"),
/**
* ResourceReference
*
*
* A reference from one resource to another.
*/
RESOURCEREFERENCE("ResourceReference"),
/**
* SampledData
*
*
* A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
*/
SAMPLEDDATA("SampledData"),
/**
* Schedule
*
*
* Specifies an event that may occur multiple times. Schedules are used for to reord when things are expected or requested to occur.
*/
SCHEDULE("Schedule"),
/**
* base64Binary
*
*
* A stream of bytes
*/
BASE64BINARY("base64Binary"),
/**
* boolean
*
*
* Value of "true" or "false"
*/
BOOLEAN("boolean"),
/**
* code
*
*
* A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents
*/
CODE("code"),
/**
* date
*
*
* A date, or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates.
*/
DATE("date"),
/**
* dateTime
*
*
* A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds may be provided but may also be ignored. Dates SHALL be valid dates.
*/
DATETIME("dateTime"),
/**
* decimal
*
*
* A rational number with implicit precision
*/
DECIMAL("decimal"),
/**
* id
*
*
* A whole number in the range 0 to 2^64-1, optionally represented in hex, a uuid, an oid or any other combination of lower-case letters a-z, numerals, "-" and ".", with a length limit of 36 characters
*/
ID("id"),
/**
* instant
*
*
* An instant in time - known at least to the second
*/
INSTANT("instant"),
/**
* integer
*
*
* A whole number
*/
INTEGER("integer"),
/**
* oid
*
*
* An oid represented as a URI
*/
OID("oid"),
/**
* string
*
*
* A sequence of Unicode characters
*/
STRING("string"),
/**
* uri
*
*
* String of characters used to identify a name or a resource
*/
URI("uri"),
/**
* uuid
*
*
* A UUID, represented as a URI
*/
UUID("uuid"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/data-types
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/data-types";
/**
* Name for this Value Set:
* DataType
*/
public static final String VALUESET_NAME = "DataType";
private static Map<String, DataTypeEnum> CODE_TO_ENUM = new HashMap<String, DataTypeEnum>();
private String myCode;
static {
for (DataTypeEnum next : DataTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public DataTypeEnum forCode(String theCode) {
DataTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<DataTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<DataTypeEnum>() {
@Override
public String toCodeString(DataTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public DataTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
DataTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,103 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ExtensionContextEnum {
/**
* resource
*
*
* The context is all elements matching a particular resource element path.
*/
RESOURCE("resource"),
/**
* datatype
*
*
* The context is all nodes matching a particular data type element path (root or repeating element) or all elements referencing a particular primitive data type (expressed as the datatype name).
*/
DATATYPE("datatype"),
/**
* mapping
*
*
* The context is all nodes whose mapping to a specified reference model corresponds to a particular mapping structure. The context identifies the mapping target. The mapping should clearly identify where such an extension could be used.
*/
MAPPING("mapping"),
/**
* extension
*
*
* The context is a particular extension from a particular profile. Expressed as uri#name, where uri identifies the profile and #name identifies the extension code.
*/
EXTENSION("extension"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/extension-context
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/extension-context";
/**
* Name for this Value Set:
* ExtensionContext
*/
public static final String VALUESET_NAME = "ExtensionContext";
private static Map<String, ExtensionContextEnum> CODE_TO_ENUM = new HashMap<String, ExtensionContextEnum>();
private String myCode;
static {
for (ExtensionContextEnum next : ExtensionContextEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ExtensionContextEnum forCode(String theCode) {
ExtensionContextEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ExtensionContextEnum> VALUESET_BINDER = new IValueSetEnumBinder<ExtensionContextEnum>() {
@Override
public String toCodeString(ExtensionContextEnum theEnum) {
return theEnum.getCode();
}
@Override
public ExtensionContextEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ExtensionContextEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,727 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum FHIRDefinedTypeEnum {
/**
* Address
*
*
* There is a variety of postal address formats defined around the world. This format defines a superset that is the basis for all addresses around the world.
*/
ADDRESS("Address"),
/**
* Age
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM. If value is present, it SHALL be positive.
*/
AGE("Age"),
/**
* Attachment
*
*
* For referring to data content defined in other formats.
*/
ATTACHMENT("Attachment"),
/**
* CodeableConcept
*
*
* A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
*/
CODEABLECONCEPT("CodeableConcept"),
/**
* Coding
*
*
* A reference to a code defined by a terminology system.
*/
CODING("Coding"),
/**
* Contact
*
*
* All kinds of technology mediated contact details for a person or organization, including telephone, email, etc.
*/
CONTACT("Contact"),
/**
* Count
*
*
* There SHALL be a code with a value of "1" if there is a value and it SHALL be an expression of length. If system is present, it SHALL be UCUM. If present, the value SHALL a whole number.
*/
COUNT("Count"),
/**
* Distance
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of length. If system is present, it SHALL be UCUM.
*/
DISTANCE("Distance"),
/**
* Duration
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM.
*/
DURATION("Duration"),
/**
* Extension
*
*
* Optional Extensions Element - found in all resources.
*/
EXTENSION("Extension"),
/**
* HumanName
*
*
* A human's name with the ability to identify parts and usage.
*/
HUMANNAME("HumanName"),
/**
* Identifier
*
*
* A technical identifier - identifies some entity uniquely and unambiguously.
*/
IDENTIFIER("Identifier"),
/**
* Money
*
*
* There SHALL be a code if there is a value and it SHALL be an expression of currency. If system is present, it SHALL be ISO 4217 (system = "urn:std:iso:4217" - currency).
*/
MONEY("Money"),
/**
* Narrative
*
*
* A human-readable formatted text, including images.
*/
NARRATIVE("Narrative"),
/**
* Period
*
*
* A time period defined by a start and end date and optionally time.
*/
PERIOD("Period"),
/**
* Quantity
*
*
* A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
*/
QUANTITY("Quantity"),
/**
* Range
*
*
* A set of ordered Quantities defined by a low and high limit.
*/
RANGE("Range"),
/**
* Ratio
*
*
* A relationship of two Quantity values - expressed as a numerator and a denominator.
*/
RATIO("Ratio"),
/**
* ResourceReference
*
*
* A reference from one resource to another.
*/
RESOURCEREFERENCE("ResourceReference"),
/**
* SampledData
*
*
* A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
*/
SAMPLEDDATA("SampledData"),
/**
* Schedule
*
*
* Specifies an event that may occur multiple times. Schedules are used for to reord when things are expected or requested to occur.
*/
SCHEDULE("Schedule"),
/**
* base64Binary
*
*
* A stream of bytes
*/
BASE64BINARY("base64Binary"),
/**
* boolean
*
*
* Value of "true" or "false"
*/
BOOLEAN("boolean"),
/**
* code
*
*
* A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents
*/
CODE("code"),
/**
* date
*
*
* A date, or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates.
*/
DATE("date"),
/**
* dateTime
*
*
* A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds may be provided but may also be ignored. Dates SHALL be valid dates.
*/
DATETIME("dateTime"),
/**
* decimal
*
*
* A rational number with implicit precision
*/
DECIMAL("decimal"),
/**
* id
*
*
* A whole number in the range 0 to 2^64-1, optionally represented in hex, a uuid, an oid or any other combination of lower-case letters a-z, numerals, "-" and ".", with a length limit of 36 characters
*/
ID("id"),
/**
* instant
*
*
* An instant in time - known at least to the second
*/
INSTANT("instant"),
/**
* integer
*
*
* A whole number
*/
INTEGER("integer"),
/**
* oid
*
*
* An oid represented as a URI
*/
OID("oid"),
/**
* string
*
*
* A sequence of Unicode characters
*/
STRING("string"),
/**
* uri
*
*
* String of characters used to identify a name or a resource
*/
URI("uri"),
/**
* uuid
*
*
* A UUID, represented as a URI
*/
UUID("uuid"),
/**
* AdverseReaction
*
*
* Records an unexpected reaction suspected to be related to the exposure of the reaction subject to a substance.
*/
ADVERSEREACTION("AdverseReaction"),
/**
* Alert
*
*
* Prospective warnings of potential issues when providing care to the patient.
*/
ALERT("Alert"),
/**
* AllergyIntolerance
*
*
* Indicates the patient has a susceptibility to an adverse reaction upon exposure to a specified substance.
*/
ALLERGYINTOLERANCE("AllergyIntolerance"),
/**
* CarePlan
*
*
* Describes the intention of how one or more practitioners intend to deliver care for a particular patient for a period of time, possibly limited to care for a specific condition or set of conditions.
*/
CAREPLAN("CarePlan"),
/**
* Composition
*
*
* A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement.
*/
COMPOSITION("Composition"),
/**
* ConceptMap
*
*
* A statement of relationships from one set of concepts to one or more other concept systems.
*/
CONCEPTMAP("ConceptMap"),
/**
* Condition
*
*
* Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a Diagnosis during an Encounter; populating a problem List or a Summary Statement, such as a Discharge Summary.
*/
CONDITION("Condition"),
/**
* Conformance
*
*
* A conformance statement is a set of requirements for a desired implementation or a description of how a target application fulfills those requirements in a particular implementation.
*/
CONFORMANCE("Conformance"),
/**
* Device
*
*
* This resource identifies an instance of a manufactured thing that is used in the provision of healthcare without being substantially changed through that activity. The device may be a machine, an insert, a computer, an application, etc. This includes durable (reusable) medical equipment as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.
*/
DEVICE("Device"),
/**
* DeviceObservationReport
*
*
* Describes the data produced by a device at a point in time.
*/
DEVICEOBSERVATIONREPORT("DeviceObservationReport"),
/**
* DiagnosticOrder
*
*
* A request for a diagnostic investigation service to be performed.
*/
DIAGNOSTICORDER("DiagnosticOrder"),
/**
* DiagnosticReport
*
*
* The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretation, and formatted representation of diagnostic reports.
*/
DIAGNOSTICREPORT("DiagnosticReport"),
/**
* DocumentManifest
*
*
* A manifest that defines a set of documents.
*/
DOCUMENTMANIFEST("DocumentManifest"),
/**
* DocumentReference
*
*
* A reference to a document.
*/
DOCUMENTREFERENCE("DocumentReference"),
/**
* Encounter
*
*
* An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.
*/
ENCOUNTER("Encounter"),
/**
* FamilyHistory
*
*
* Significant health events and conditions for people related to the subject relevant in the context of care for the subject.
*/
FAMILYHISTORY("FamilyHistory"),
/**
* Group
*
*
* Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized. I.e. A collection of entities that isn't an Organization.
*/
GROUP("Group"),
/**
* ImagingStudy
*
*
* Manifest of a set of images produced in study. The set of images may include every image in the study, or it may be an incomplete sample, such as a list of key images.
*/
IMAGINGSTUDY("ImagingStudy"),
/**
* Immunization
*
*
* Immunization event information.
*/
IMMUNIZATION("Immunization"),
/**
* ImmunizationRecommendation
*
*
* A patient's point-of-time immunization status and recommendation with optional supporting justification.
*/
IMMUNIZATIONRECOMMENDATION("ImmunizationRecommendation"),
/**
* List
*
*
* A set of information summarized from a list of other resources.
*/
LIST("List"),
/**
* Location
*
*
* Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated.
*/
LOCATION("Location"),
/**
* Media
*
*
* A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
*/
MEDIA("Media"),
/**
* Medication
*
*
* Primarily used for identification and definition of Medication, but also covers ingredients and packaging.
*/
MEDICATION("Medication"),
/**
* MedicationAdministration
*
*
* Describes the event of a patient being given a dose of a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.
*/
MEDICATIONADMINISTRATION("MedicationAdministration"),
/**
* MedicationDispense
*
*
* Dispensing a medication to a named patient. This includes a description of the supply provided and the instructions for administering the medication.
*/
MEDICATIONDISPENSE("MedicationDispense"),
/**
* MedicationPrescription
*
*
* An order for both supply of the medication and the instructions for administration of the medicine to a patient.
*/
MEDICATIONPRESCRIPTION("MedicationPrescription"),
/**
* MedicationStatement
*
*
* A record of medication being taken by a patient, or that the medication has been given to a patient where the record is the result of a report from the patient or another clinician.
*/
MEDICATIONSTATEMENT("MedicationStatement"),
/**
* MessageHeader
*
*
* The header for a message exchange that is either requesting or responding to an action. The resource(s) that are the subject of the action as well as other Information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.
*/
MESSAGEHEADER("MessageHeader"),
/**
* Observation
*
*
* Measurements and simple assertions made about a patient, device or other subject.
*/
OBSERVATION("Observation"),
/**
* OperationOutcome
*
*
* A collection of error, warning or information messages that result from a system action.
*/
OPERATIONOUTCOME("OperationOutcome"),
/**
* Order
*
*
* A request to perform an action.
*/
ORDER("Order"),
/**
* OrderResponse
*
*
* A response to an order.
*/
ORDERRESPONSE("OrderResponse"),
/**
* Organization
*
*
* A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
*/
ORGANIZATION("Organization"),
/**
* Other
*
*
* Other is a conformant for handling resource concepts not yet defined for FHIR or outside HL7's scope of interest.
*/
OTHER("Other"),
/**
* Patient
*
*
* Demographics and other administrative information about a person or animal receiving care or other health-related services.
*/
PATIENT("Patient"),
/**
* Practitioner
*
*
* A person who is directly or indirectly involved in the provisioning of healthcare.
*/
PRACTITIONER("Practitioner"),
/**
* Procedure
*
*
* An action that is performed on a patient. This can be a physical 'thing' like an operation, or less invasive like counseling or hypnotherapy.
*/
PROCEDURE("Procedure"),
/**
* Profile
*
*
* A Resource Profile - a statement of use of one or more FHIR Resources. It may include constraints on Resources and Data Types, Terminology Binding Statements and Extension Definitions.
*/
PROFILE("Profile"),
/**
* Provenance
*
*
* Provenance information that describes the activity that led to the creation of a set of resources. This information can be used to help determine their reliability or trace where the information in them came from. The focus of the provenance resource is record keeping, audit and traceability, and not explicit statements of clinical significance.
*/
PROVENANCE("Provenance"),
/**
* Query
*
*
* A description of a query with a set of parameters.
*/
QUERY("Query"),
/**
* Questionnaire
*
*
* A structured set of questions and their answers. The Questionnaire may contain questions, answers or both. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions.
*/
QUESTIONNAIRE("Questionnaire"),
/**
* RelatedPerson
*
*
* Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.
*/
RELATEDPERSON("RelatedPerson"),
/**
* SecurityEvent
*
*
* A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.
*/
SECURITYEVENT("SecurityEvent"),
/**
* Specimen
*
*
* Sample for analysis.
*/
SPECIMEN("Specimen"),
/**
* Substance
*
*
* A homogeneous material with a definite composition.
*/
SUBSTANCE("Substance"),
/**
* Supply
*
*
* A supply - a request for something, and provision of what is supplied.
*/
SUPPLY("Supply"),
/**
* ValueSet
*
*
* A value set specifies a set of codes drawn from one or more code systems.
*/
VALUESET("ValueSet"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/defined-types
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/defined-types";
/**
* Name for this Value Set:
* FHIRDefinedType
*/
public static final String VALUESET_NAME = "FHIRDefinedType";
private static Map<String, FHIRDefinedTypeEnum> CODE_TO_ENUM = new HashMap<String, FHIRDefinedTypeEnum>();
private String myCode;
static {
for (FHIRDefinedTypeEnum next : FHIRDefinedTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public FHIRDefinedTypeEnum forCode(String theCode) {
FHIRDefinedTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<FHIRDefinedTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<FHIRDefinedTypeEnum>() {
@Override
public String toCodeString(FHIRDefinedTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public FHIRDefinedTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
FHIRDefinedTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,119 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum FilterOperatorEnum {
/**
* =
*
*
* The property value has the concept specified by the value.
*/
EQUALS("="),
/**
* is-a
*
*
* The property value has a concept that has an is-a relationship with the value.
*/
IS_A("is-a"),
/**
* is-not-a
*
*
* The property value has a concept that does not have an is-a relationship with the value.
*/
IS_NOT_A("is-not-a"),
/**
* regex
*
*
* The property value representation matches the regex specified in the value.
*/
REGEX("regex"),
/**
* in
*
*
* The property value is in the set of codes or concepts identified by the value.
*/
IN("in"),
/**
* not in
*
*
* The property value is not in the set of codes or concepts identified by the value.
*/
NOT_IN("not in"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/filter-operator
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/filter-operator";
/**
* Name for this Value Set:
* FilterOperator
*/
public static final String VALUESET_NAME = "FilterOperator";
private static Map<String, FilterOperatorEnum> CODE_TO_ENUM = new HashMap<String, FilterOperatorEnum>();
private String myCode;
static {
for (FilterOperatorEnum next : FilterOperatorEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public FilterOperatorEnum forCode(String theCode) {
FilterOperatorEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<FilterOperatorEnum> VALUESET_BINDER = new IValueSetEnumBinder<FilterOperatorEnum>() {
@Override
public String toCodeString(FilterOperatorEnum theEnum) {
return theEnum.getCode();
}
@Override
public FilterOperatorEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
FilterOperatorEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,119 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum GroupTypeEnum {
/**
* person
*
*
* Group contains "person" Patient resources.
*/
PERSON("person"),
/**
* animal
*
*
* Group contains "animal" Patient resources.
*/
ANIMAL("animal"),
/**
* practitioner
*
*
* Group contains healthcare practitioner resources.
*/
PRACTITIONER("practitioner"),
/**
* device
*
*
* Group contains Device resources.
*/
DEVICE("device"),
/**
* medication
*
*
* Group contains Medication resources.
*/
MEDICATION("medication"),
/**
* substance
*
*
* Group contains Substance resources.
*/
SUBSTANCE("substance"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/group-type
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/group-type";
/**
* Name for this Value Set:
* GroupType
*/
public static final String VALUESET_NAME = "GroupType";
private static Map<String, GroupTypeEnum> CODE_TO_ENUM = new HashMap<String, GroupTypeEnum>();
private String myCode;
static {
for (GroupTypeEnum next : GroupTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public GroupTypeEnum forCode(String theCode) {
GroupTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<GroupTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<GroupTypeEnum>() {
@Override
public String toCodeString(GroupTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public GroupTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
GroupTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,87 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum HierarchicalRelationshipTypeEnum {
/**
* parent
* Parent
*
* The target resource is the parent of the focal specimen resource.
*/
PARENT("parent"),
/**
* child
* Child
*
* The target resource is the child of the focal specimen resource.
*/
CHILD("child"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/hierarchical-relationship-type
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/hierarchical-relationship-type";
/**
* Name for this Value Set:
* HierarchicalRelationshipType
*/
public static final String VALUESET_NAME = "HierarchicalRelationshipType";
private static Map<String, HierarchicalRelationshipTypeEnum> CODE_TO_ENUM = new HashMap<String, HierarchicalRelationshipTypeEnum>();
private String myCode;
static {
for (HierarchicalRelationshipTypeEnum next : HierarchicalRelationshipTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public HierarchicalRelationshipTypeEnum forCode(String theCode) {
HierarchicalRelationshipTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<HierarchicalRelationshipTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<HierarchicalRelationshipTypeEnum>() {
@Override
public String toCodeString(HierarchicalRelationshipTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public HierarchicalRelationshipTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
HierarchicalRelationshipTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,103 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum IdentifierUseEnum {
/**
* usual
*
*
* the identifier recommended for display and use in real-world interactions.
*/
USUAL("usual"),
/**
* official
*
*
* the identifier considered to be most trusted for the identification of this item.
*/
OFFICIAL("official"),
/**
* temp
*
*
* A temporary identifier.
*/
TEMP("temp"),
/**
* secondary
*
*
* An identifier that was assigned in secondary use - it serves to identify the object in a relative context, but cannot be consistently assigned to the same object again in a different context.
*/
SECONDARY("secondary"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/identifier-use
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/identifier-use";
/**
* Name for this Value Set:
* IdentifierUse
*/
public static final String VALUESET_NAME = "IdentifierUse";
private static Map<String, IdentifierUseEnum> CODE_TO_ENUM = new HashMap<String, IdentifierUseEnum>();
private String myCode;
static {
for (IdentifierUseEnum next : IdentifierUseEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public IdentifierUseEnum forCode(String theCode) {
IdentifierUseEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<IdentifierUseEnum> VALUESET_BINDER = new IValueSetEnumBinder<IdentifierUseEnum>() {
@Override
public String toCodeString(IdentifierUseEnum theEnum) {
return theEnum.getCode();
}
@Override
public IdentifierUseEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
IdentifierUseEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,95 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum LinkTypeEnum {
/**
* replace
*
*
* The patient resource containing this link must no longer be used. The link points forward to another patient resource that must be used in lieu of the patient resource that contains the link.
*/
REPLACE("replace"),
/**
* refer
*
*
* The patient resource containing this link is in use and valid but not considered the main source of information about a patient. The link points forward to another patient resource that should be consulted to retrieve additional patient information.
*/
REFER("refer"),
/**
* seealso
*
*
* The patient resource containing this link is in use and valid, but points to another patient resource that is known to contain data about the same person. Data in this resource might overlap or contradict information found in the other patient resource. This link does not indicate any relative importance of the resources concerned, and both should be regarded as equally valid.
*/
SEEALSO("seealso"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/link-type
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/link-type";
/**
* Name for this Value Set:
* LinkType
*/
public static final String VALUESET_NAME = "LinkType";
private static Map<String, LinkTypeEnum> CODE_TO_ENUM = new HashMap<String, LinkTypeEnum>();
private String myCode;
static {
for (LinkTypeEnum next : LinkTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public LinkTypeEnum forCode(String theCode) {
LinkTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<LinkTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<LinkTypeEnum>() {
@Override
public String toCodeString(LinkTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public LinkTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
LinkTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,87 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum LocationModeEnum {
/**
* instance
*
*
* The Location resource represents a specific instance of a Location.
*/
INSTANCE("instance"),
/**
* kind
*
*
* The Location represents a class of Locations.
*/
KIND("kind"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/location-mode
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/location-mode";
/**
* Name for this Value Set:
* LocationMode
*/
public static final String VALUESET_NAME = "LocationMode";
private static Map<String, LocationModeEnum> CODE_TO_ENUM = new HashMap<String, LocationModeEnum>();
private String myCode;
static {
for (LocationModeEnum next : LocationModeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public LocationModeEnum forCode(String theCode) {
LocationModeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<LocationModeEnum> VALUESET_BINDER = new IValueSetEnumBinder<LocationModeEnum>() {
@Override
public String toCodeString(LocationModeEnum theEnum) {
return theEnum.getCode();
}
@Override
public LocationModeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
LocationModeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,95 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum LocationStatusEnum {
/**
* active
*
*
* The location is operational.
*/
ACTIVE("active"),
/**
* suspended
*
*
* The location is temporarily closed.
*/
SUSPENDED("suspended"),
/**
* inactive
*
*
* The location is no longer used.
*/
INACTIVE("inactive"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/location-status
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/location-status";
/**
* Name for this Value Set:
* LocationStatus
*/
public static final String VALUESET_NAME = "LocationStatus";
private static Map<String, LocationStatusEnum> CODE_TO_ENUM = new HashMap<String, LocationStatusEnum>();
private String myCode;
static {
for (LocationStatusEnum next : LocationStatusEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public LocationStatusEnum forCode(String theCode) {
LocationStatusEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<LocationStatusEnum> VALUESET_BINDER = new IValueSetEnumBinder<LocationStatusEnum>() {
@Override
public String toCodeString(LocationStatusEnum theEnum) {
return theEnum.getCode();
}
@Override
public LocationStatusEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
LocationStatusEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,135 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum LocationTypeEnum {
/**
* bu
* Building
*
*
*/
BU("bu"),
/**
* wi
* Wing
*
*
*/
WI("wi"),
/**
* co
* Corridor
*
*
*/
CO("co"),
/**
* ro
* Room
*
*
*/
RO("ro"),
/**
* ve
* Vehicle
*
*
*/
VE("ve"),
/**
* ho
* House
*
*
*/
HO("ho"),
/**
* ca
* Cabinet
*
*
*/
CA("ca"),
/**
* rd
* Road
*
*
*/
RD("rd"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/location-physical-type
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/location-physical-type";
/**
* Name for this Value Set:
* LocationType
*/
public static final String VALUESET_NAME = "LocationType";
private static Map<String, LocationTypeEnum> CODE_TO_ENUM = new HashMap<String, LocationTypeEnum>();
private String myCode;
static {
for (LocationTypeEnum next : LocationTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public LocationTypeEnum forCode(String theCode) {
LocationTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<LocationTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<LocationTypeEnum>() {
@Override
public String toCodeString(LocationTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public LocationTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
LocationTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,87 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum MedicationKindEnum {
/**
* product
*
*
* The medication is a product.
*/
PRODUCT("product"),
/**
* package
*
*
* The medication is a package - a contained group of one of more products.
*/
PACKAGE("package"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/medication-kind
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/medication-kind";
/**
* Name for this Value Set:
* MedicationKind
*/
public static final String VALUESET_NAME = "MedicationKind";
private static Map<String, MedicationKindEnum> CODE_TO_ENUM = new HashMap<String, MedicationKindEnum>();
private String myCode;
static {
for (MedicationKindEnum next : MedicationKindEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public MedicationKindEnum forCode(String theCode) {
MedicationKindEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<MedicationKindEnum> VALUESET_BINDER = new IValueSetEnumBinder<MedicationKindEnum>() {
@Override
public String toCodeString(MedicationKindEnum theEnum) {
return theEnum.getCode();
}
@Override
public MedicationKindEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
MedicationKindEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,127 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum NameUseEnum {
/**
* usual
*
*
* Known as/conventional/the one you normally use.
*/
USUAL("usual"),
/**
* official
*
*
* The formal name as registered in an official (government) registry, but which name might not be commonly used. May be called "legal name".
*/
OFFICIAL("official"),
/**
* temp
*
*
* A temporary name. Name.period can provide more detailed information. This may also be used for temporary names assigned at birth or in emergency situations.
*/
TEMP("temp"),
/**
* nickname
*
*
* A name that is used to address the person in an informal manner, but is not part of their formal or usual name.
*/
NICKNAME("nickname"),
/**
* anonymous
*
*
* Anonymous assigned name, alias, or pseudonym (used to protect a person's identity for privacy reasons).
*/
ANONYMOUS("anonymous"),
/**
* old
*
*
* This name is no longer in use (or was never correct, but retained for records).
*/
OLD("old"),
/**
* maiden
*
*
* A name used prior to marriage. Marriage naming customs vary greatly around the world. This name use is for use by applications that collect and store "maiden" names. Though the concept of maiden name is often gender specific, the use of this term is not gender specific. The use of this term does not imply any particular history for a person's name, nor should the maiden name be determined algorithmically.
*/
MAIDEN("maiden"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/name-use
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/name-use";
/**
* Name for this Value Set:
* NameUse
*/
public static final String VALUESET_NAME = "NameUse";
private static Map<String, NameUseEnum> CODE_TO_ENUM = new HashMap<String, NameUseEnum>();
private String myCode;
static {
for (NameUseEnum next : NameUseEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public NameUseEnum forCode(String theCode) {
NameUseEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<NameUseEnum> VALUESET_BINDER = new IValueSetEnumBinder<NameUseEnum>() {
@Override
public String toCodeString(NameUseEnum theEnum) {
return theEnum.getCode();
}
@Override
public NameUseEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
NameUseEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,103 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum NarrativeStatusEnum {
/**
* generated
*
*
* The contents of the narrative are entirely generated from the structured data in the resource.
*/
GENERATED("generated"),
/**
* extensions
*
*
* The contents of the narrative are entirely generated from the structured data in the resource and some of the content is generated from extensions.
*/
EXTENSIONS("extensions"),
/**
* additional
*
*
* The contents of the narrative contain additional information not found in the structured data.
*/
ADDITIONAL("additional"),
/**
* empty
*
*
* the contents of the narrative are some equivalent of "No human-readable text provided for this resource".
*/
EMPTY("empty"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/narrative-status
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/narrative-status";
/**
* Name for this Value Set:
* NarrativeStatus
*/
public static final String VALUESET_NAME = "NarrativeStatus";
private static Map<String, NarrativeStatusEnum> CODE_TO_ENUM = new HashMap<String, NarrativeStatusEnum>();
private String myCode;
static {
for (NarrativeStatusEnum next : NarrativeStatusEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public NarrativeStatusEnum forCode(String theCode) {
NarrativeStatusEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<NarrativeStatusEnum> VALUESET_BINDER = new IValueSetEnumBinder<NarrativeStatusEnum>() {
@Override
public String toCodeString(NarrativeStatusEnum theEnum) {
return theEnum.getCode();
}
@Override
public NarrativeStatusEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
NarrativeStatusEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,127 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ObservationRelationshipTypeEnum {
/**
* has-component
*
*
* The target observation is a component of this observation (e.g. Systolic and Diastolic Blood Pressure).
*/
HAS_COMPONENT("has-component"),
/**
* has-member
*
*
* This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.
*/
HAS_MEMBER("has-member"),
/**
* derived-from
*
*
* The target observation is part of the information from which this observation value is derived (e.g. calculated anion gap, Apgar score).
*/
DERIVED_FROM("derived-from"),
/**
* sequel-to
*
*
* This observation follows the target observation (e.g. timed tests such as Glucose Tolerance Test).
*/
SEQUEL_TO("sequel-to"),
/**
* replaces
*
*
* This observation replaces a previous observation (i.e. a revised value). The target observation is now obsolete.
*/
REPLACES("replaces"),
/**
* qualified-by
*
*
* The value of the target observation qualifies (refines) the semantics of the source observation (e.g. a lipaemia measure target from a plasma measure).
*/
QUALIFIED_BY("qualified-by"),
/**
* interfered-by
*
*
* The value of the target observation interferes (degardes quality, or prevents valid observation) with the semantics of the source observation (e.g. a hemolysis measure target from a plasma potassium measure which has no value).
*/
INTERFERED_BY("interfered-by"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/observation-relationshiptypes
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/observation-relationshiptypes";
/**
* Name for this Value Set:
* ObservationRelationshipType
*/
public static final String VALUESET_NAME = "ObservationRelationshipType";
private static Map<String, ObservationRelationshipTypeEnum> CODE_TO_ENUM = new HashMap<String, ObservationRelationshipTypeEnum>();
private String myCode;
static {
for (ObservationRelationshipTypeEnum next : ObservationRelationshipTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ObservationRelationshipTypeEnum forCode(String theCode) {
ObservationRelationshipTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ObservationRelationshipTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<ObservationRelationshipTypeEnum>() {
@Override
public String toCodeString(ObservationRelationshipTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public ObservationRelationshipTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ObservationRelationshipTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,127 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ObservationReliabilityEnum {
/**
* ok
*
*
* The result has no reliability concerns.
*/
OK("ok"),
/**
* ongoing
*
*
* An early estimate of value; measurement is still occurring.
*/
ONGOING("ongoing"),
/**
* early
*
*
* An early estimate of value; processing is still occurring.
*/
EARLY("early"),
/**
* questionable
*
*
* The observation value should be treated with care.
*/
QUESTIONABLE("questionable"),
/**
* calibrating
*
*
* The result has been generated while calibration is occurring.
*/
CALIBRATING("calibrating"),
/**
* error
*
*
* The observation could not be completed because of an error.
*/
ERROR("error"),
/**
* unknown
*
*
* No observation value was available.
*/
UNKNOWN("unknown"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/observation-reliability
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/observation-reliability";
/**
* Name for this Value Set:
* ObservationReliability
*/
public static final String VALUESET_NAME = "ObservationReliability";
private static Map<String, ObservationReliabilityEnum> CODE_TO_ENUM = new HashMap<String, ObservationReliabilityEnum>();
private String myCode;
static {
for (ObservationReliabilityEnum next : ObservationReliabilityEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ObservationReliabilityEnum forCode(String theCode) {
ObservationReliabilityEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ObservationReliabilityEnum> VALUESET_BINDER = new IValueSetEnumBinder<ObservationReliabilityEnum>() {
@Override
public String toCodeString(ObservationReliabilityEnum theEnum) {
return theEnum.getCode();
}
@Override
public ObservationReliabilityEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ObservationReliabilityEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,119 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ObservationStatusEnum {
/**
* registered
*
*
* The existence of the observation is registered, but there is no result yet available.
*/
REGISTERED("registered"),
/**
* preliminary
*
*
* This is an initial or interim observation: data may be incomplete or unverified.
*/
PRELIMINARY("preliminary"),
/**
* final
*
*
* The observation is complete and verified by an authorized person.
*/
FINAL("final"),
/**
* amended
*
*
* The observation has been modified subsequent to being Final, and is complete and verified by an authorized person.
*/
AMENDED("amended"),
/**
* cancelled
*
*
* The observation is unavailable because the measurement was not started or not completed (also sometimes called "aborted").
*/
CANCELLED("cancelled"),
/**
* entered in error
*
*
* The observation has been withdrawn following previous Final release.
*/
ENTERED_IN_ERROR("entered in error"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/observation-status
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/observation-status";
/**
* Name for this Value Set:
* ObservationStatus
*/
public static final String VALUESET_NAME = "ObservationStatus";
private static Map<String, ObservationStatusEnum> CODE_TO_ENUM = new HashMap<String, ObservationStatusEnum>();
private String myCode;
static {
for (ObservationStatusEnum next : ObservationStatusEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ObservationStatusEnum forCode(String theCode) {
ObservationStatusEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ObservationStatusEnum> VALUESET_BINDER = new IValueSetEnumBinder<ObservationStatusEnum>() {
@Override
public String toCodeString(ObservationStatusEnum theEnum) {
return theEnum.getCode();
}
@Override
public ObservationStatusEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ObservationStatusEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,143 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum OrganizationTypeEnum {
/**
* prov
* Healthcare Provider
*
*
*/
PROV("prov"),
/**
* dept
* Hospital Department
*
*
*/
DEPT("dept"),
/**
* icu
* Intensive Care Unit
*
*
*/
ICU("icu"),
/**
* team
* Organizational team
*
*
*/
TEAM("team"),
/**
* fed
* Federal Government
*
*
*/
FED("fed"),
/**
* ins
* Insurance Company
*
*
*/
INS("ins"),
/**
* edu
* Educational Institute
*
*
*/
EDU("edu"),
/**
* reli
* Religious Institution
*
*
*/
RELI("reli"),
/**
* pharm
* Pharmacy
*
*
*/
PHARM("pharm"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/organization-type
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/organization-type";
/**
* Name for this Value Set:
* OrganizationType
*/
public static final String VALUESET_NAME = "OrganizationType";
private static Map<String, OrganizationTypeEnum> CODE_TO_ENUM = new HashMap<String, OrganizationTypeEnum>();
private String myCode;
static {
for (OrganizationTypeEnum next : OrganizationTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public OrganizationTypeEnum forCode(String theCode) {
OrganizationTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<OrganizationTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<OrganizationTypeEnum>() {
@Override
public String toCodeString(OrganizationTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public OrganizationTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
OrganizationTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,119 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum PractitionerRoleEnum {
/**
* doctor
*
*
*
*/
DOCTOR("doctor"),
/**
* nurse
*
*
*
*/
NURSE("nurse"),
/**
* pharmacist
*
*
*
*/
PHARMACIST("pharmacist"),
/**
* researcher
*
*
*
*/
RESEARCHER("researcher"),
/**
* teacher
* Teacher/educator
*
*
*/
TEACHER("teacher"),
/**
* ict
* ICT professional
*
*
*/
ICT("ict"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/practitioner-role
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/practitioner-role";
/**
* Name for this Value Set:
* PractitionerRole
*/
public static final String VALUESET_NAME = "PractitionerRole";
private static Map<String, PractitionerRoleEnum> CODE_TO_ENUM = new HashMap<String, PractitionerRoleEnum>();
private String myCode;
static {
for (PractitionerRoleEnum next : PractitionerRoleEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public PractitionerRoleEnum forCode(String theCode) {
PractitionerRoleEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<PractitionerRoleEnum> VALUESET_BINDER = new IValueSetEnumBinder<PractitionerRoleEnum>() {
@Override
public String toCodeString(PractitionerRoleEnum theEnum) {
return theEnum.getCode();
}
@Override
public PractitionerRoleEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
PractitionerRoleEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,111 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum PractitionerSpecialtyEnum {
/**
* cardio
* Cardiologist
*
*
*/
CARDIO("cardio"),
/**
* dent
* Dentist
*
*
*/
DENT("dent"),
/**
* dietary
* Dietary consultant
*
*
*/
DIETARY("dietary"),
/**
* midw
* Midwife
*
*
*/
MIDW("midw"),
/**
* sysarch
* Systems architect
*
*
*/
SYSARCH("sysarch"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/practitioner-specialty
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/practitioner-specialty";
/**
* Name for this Value Set:
* PractitionerSpecialty
*/
public static final String VALUESET_NAME = "PractitionerSpecialty";
private static Map<String, PractitionerSpecialtyEnum> CODE_TO_ENUM = new HashMap<String, PractitionerSpecialtyEnum>();
private String myCode;
static {
for (PractitionerSpecialtyEnum next : PractitionerSpecialtyEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public PractitionerSpecialtyEnum forCode(String theCode) {
PractitionerSpecialtyEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<PractitionerSpecialtyEnum> VALUESET_BINDER = new IValueSetEnumBinder<PractitionerSpecialtyEnum>() {
@Override
public String toCodeString(PractitionerSpecialtyEnum theEnum) {
return theEnum.getCode();
}
@Override
public PractitionerSpecialtyEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
PractitionerSpecialtyEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,79 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum PropertyRepresentationEnum {
/**
* xmlAttr
*
*
* In XML, this property is represented as an attribute not an element.
*/
XMLATTR("xmlAttr"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/property-representation
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/property-representation";
/**
* Name for this Value Set:
* PropertyRepresentation
*/
public static final String VALUESET_NAME = "PropertyRepresentation";
private static Map<String, PropertyRepresentationEnum> CODE_TO_ENUM = new HashMap<String, PropertyRepresentationEnum>();
private String myCode;
static {
for (PropertyRepresentationEnum next : PropertyRepresentationEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public PropertyRepresentationEnum forCode(String theCode) {
PropertyRepresentationEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<PropertyRepresentationEnum> VALUESET_BINDER = new IValueSetEnumBinder<PropertyRepresentationEnum>() {
@Override
public String toCodeString(PropertyRepresentationEnum theEnum) {
return theEnum.getCode();
}
@Override
public PropertyRepresentationEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
PropertyRepresentationEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,103 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum QuantityCompararatorEnum {
/**
* <
*
*
* The actual value is less than the given value.
*/
LESSTHAN("<"),
/**
* <=
*
*
* The actual value is less than or equal to the given value.
*/
LESSTHAN_OR_EQUALS("<="),
/**
* >=
*
*
* The actual value is greater than or equal to the given value.
*/
GREATERTHAN_OR_EQUALS(">="),
/**
* >
*
*
* The actual value is greater than the given value.
*/
GREATERTHAN(">"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/quantity-comparator
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/quantity-comparator";
/**
* Name for this Value Set:
* QuantityCompararator
*/
public static final String VALUESET_NAME = "QuantityCompararator";
private static Map<String, QuantityCompararatorEnum> CODE_TO_ENUM = new HashMap<String, QuantityCompararatorEnum>();
private String myCode;
static {
for (QuantityCompararatorEnum next : QuantityCompararatorEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public QuantityCompararatorEnum forCode(String theCode) {
QuantityCompararatorEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<QuantityCompararatorEnum> VALUESET_BINDER = new IValueSetEnumBinder<QuantityCompararatorEnum>() {
@Override
public String toCodeString(QuantityCompararatorEnum theEnum) {
return theEnum.getCode();
}
@Override
public QuantityCompararatorEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
QuantityCompararatorEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,95 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ResourceProfileStatusEnum {
/**
* draft
*
*
* This profile is still under development.
*/
DRAFT("draft"),
/**
* active
*
*
* This profile is ready for normal use.
*/
ACTIVE("active"),
/**
* retired
*
*
* This profile has been deprecated, withdrawn or superseded and should no longer be used.
*/
RETIRED("retired"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/resource-profile-status
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/resource-profile-status";
/**
* Name for this Value Set:
* ResourceProfileStatus
*/
public static final String VALUESET_NAME = "ResourceProfileStatus";
private static Map<String, ResourceProfileStatusEnum> CODE_TO_ENUM = new HashMap<String, ResourceProfileStatusEnum>();
private String myCode;
static {
for (ResourceProfileStatusEnum next : ResourceProfileStatusEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ResourceProfileStatusEnum forCode(String theCode) {
ResourceProfileStatusEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ResourceProfileStatusEnum> VALUESET_BINDER = new IValueSetEnumBinder<ResourceProfileStatusEnum>() {
@Override
public String toCodeString(ResourceProfileStatusEnum theEnum) {
return theEnum.getCode();
}
@Override
public ResourceProfileStatusEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ResourceProfileStatusEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,455 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ResourceTypeEnum {
/**
* AdverseReaction
*
*
* Records an unexpected reaction suspected to be related to the exposure of the reaction subject to a substance.
*/
ADVERSEREACTION("AdverseReaction"),
/**
* Alert
*
*
* Prospective warnings of potential issues when providing care to the patient.
*/
ALERT("Alert"),
/**
* AllergyIntolerance
*
*
* Indicates the patient has a susceptibility to an adverse reaction upon exposure to a specified substance.
*/
ALLERGYINTOLERANCE("AllergyIntolerance"),
/**
* CarePlan
*
*
* Describes the intention of how one or more practitioners intend to deliver care for a particular patient for a period of time, possibly limited to care for a specific condition or set of conditions.
*/
CAREPLAN("CarePlan"),
/**
* Composition
*
*
* A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement.
*/
COMPOSITION("Composition"),
/**
* ConceptMap
*
*
* A statement of relationships from one set of concepts to one or more other concept systems.
*/
CONCEPTMAP("ConceptMap"),
/**
* Condition
*
*
* Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a Diagnosis during an Encounter; populating a problem List or a Summary Statement, such as a Discharge Summary.
*/
CONDITION("Condition"),
/**
* Conformance
*
*
* A conformance statement is a set of requirements for a desired implementation or a description of how a target application fulfills those requirements in a particular implementation.
*/
CONFORMANCE("Conformance"),
/**
* Device
*
*
* This resource identifies an instance of a manufactured thing that is used in the provision of healthcare without being substantially changed through that activity. The device may be a machine, an insert, a computer, an application, etc. This includes durable (reusable) medical equipment as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.
*/
DEVICE("Device"),
/**
* DeviceObservationReport
*
*
* Describes the data produced by a device at a point in time.
*/
DEVICEOBSERVATIONREPORT("DeviceObservationReport"),
/**
* DiagnosticOrder
*
*
* A request for a diagnostic investigation service to be performed.
*/
DIAGNOSTICORDER("DiagnosticOrder"),
/**
* DiagnosticReport
*
*
* The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretation, and formatted representation of diagnostic reports.
*/
DIAGNOSTICREPORT("DiagnosticReport"),
/**
* DocumentManifest
*
*
* A manifest that defines a set of documents.
*/
DOCUMENTMANIFEST("DocumentManifest"),
/**
* DocumentReference
*
*
* A reference to a document.
*/
DOCUMENTREFERENCE("DocumentReference"),
/**
* Encounter
*
*
* An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.
*/
ENCOUNTER("Encounter"),
/**
* FamilyHistory
*
*
* Significant health events and conditions for people related to the subject relevant in the context of care for the subject.
*/
FAMILYHISTORY("FamilyHistory"),
/**
* Group
*
*
* Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized. I.e. A collection of entities that isn't an Organization.
*/
GROUP("Group"),
/**
* ImagingStudy
*
*
* Manifest of a set of images produced in study. The set of images may include every image in the study, or it may be an incomplete sample, such as a list of key images.
*/
IMAGINGSTUDY("ImagingStudy"),
/**
* Immunization
*
*
* Immunization event information.
*/
IMMUNIZATION("Immunization"),
/**
* ImmunizationRecommendation
*
*
* A patient's point-of-time immunization status and recommendation with optional supporting justification.
*/
IMMUNIZATIONRECOMMENDATION("ImmunizationRecommendation"),
/**
* List
*
*
* A set of information summarized from a list of other resources.
*/
LIST("List"),
/**
* Location
*
*
* Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated.
*/
LOCATION("Location"),
/**
* Media
*
*
* A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
*/
MEDIA("Media"),
/**
* Medication
*
*
* Primarily used for identification and definition of Medication, but also covers ingredients and packaging.
*/
MEDICATION("Medication"),
/**
* MedicationAdministration
*
*
* Describes the event of a patient being given a dose of a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.
*/
MEDICATIONADMINISTRATION("MedicationAdministration"),
/**
* MedicationDispense
*
*
* Dispensing a medication to a named patient. This includes a description of the supply provided and the instructions for administering the medication.
*/
MEDICATIONDISPENSE("MedicationDispense"),
/**
* MedicationPrescription
*
*
* An order for both supply of the medication and the instructions for administration of the medicine to a patient.
*/
MEDICATIONPRESCRIPTION("MedicationPrescription"),
/**
* MedicationStatement
*
*
* A record of medication being taken by a patient, or that the medication has been given to a patient where the record is the result of a report from the patient or another clinician.
*/
MEDICATIONSTATEMENT("MedicationStatement"),
/**
* MessageHeader
*
*
* The header for a message exchange that is either requesting or responding to an action. The resource(s) that are the subject of the action as well as other Information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.
*/
MESSAGEHEADER("MessageHeader"),
/**
* Observation
*
*
* Measurements and simple assertions made about a patient, device or other subject.
*/
OBSERVATION("Observation"),
/**
* OperationOutcome
*
*
* A collection of error, warning or information messages that result from a system action.
*/
OPERATIONOUTCOME("OperationOutcome"),
/**
* Order
*
*
* A request to perform an action.
*/
ORDER("Order"),
/**
* OrderResponse
*
*
* A response to an order.
*/
ORDERRESPONSE("OrderResponse"),
/**
* Organization
*
*
* A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
*/
ORGANIZATION("Organization"),
/**
* Other
*
*
* Other is a conformant for handling resource concepts not yet defined for FHIR or outside HL7's scope of interest.
*/
OTHER("Other"),
/**
* Patient
*
*
* Demographics and other administrative information about a person or animal receiving care or other health-related services.
*/
PATIENT("Patient"),
/**
* Practitioner
*
*
* A person who is directly or indirectly involved in the provisioning of healthcare.
*/
PRACTITIONER("Practitioner"),
/**
* Procedure
*
*
* An action that is performed on a patient. This can be a physical 'thing' like an operation, or less invasive like counseling or hypnotherapy.
*/
PROCEDURE("Procedure"),
/**
* Profile
*
*
* A Resource Profile - a statement of use of one or more FHIR Resources. It may include constraints on Resources and Data Types, Terminology Binding Statements and Extension Definitions.
*/
PROFILE("Profile"),
/**
* Provenance
*
*
* Provenance information that describes the activity that led to the creation of a set of resources. This information can be used to help determine their reliability or trace where the information in them came from. The focus of the provenance resource is record keeping, audit and traceability, and not explicit statements of clinical significance.
*/
PROVENANCE("Provenance"),
/**
* Query
*
*
* A description of a query with a set of parameters.
*/
QUERY("Query"),
/**
* Questionnaire
*
*
* A structured set of questions and their answers. The Questionnaire may contain questions, answers or both. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions.
*/
QUESTIONNAIRE("Questionnaire"),
/**
* RelatedPerson
*
*
* Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.
*/
RELATEDPERSON("RelatedPerson"),
/**
* SecurityEvent
*
*
* A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.
*/
SECURITYEVENT("SecurityEvent"),
/**
* Specimen
*
*
* Sample for analysis.
*/
SPECIMEN("Specimen"),
/**
* Substance
*
*
* A homogeneous material with a definite composition.
*/
SUBSTANCE("Substance"),
/**
* Supply
*
*
* A supply - a request for something, and provision of what is supplied.
*/
SUPPLY("Supply"),
/**
* ValueSet
*
*
* A value set specifies a set of codes drawn from one or more code systems.
*/
VALUESET("ValueSet"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/resource-types
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/resource-types";
/**
* Name for this Value Set:
* ResourceType
*/
public static final String VALUESET_NAME = "ResourceType";
private static Map<String, ResourceTypeEnum> CODE_TO_ENUM = new HashMap<String, ResourceTypeEnum>();
private String myCode;
static {
for (ResourceTypeEnum next : ResourceTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ResourceTypeEnum forCode(String theCode) {
ResourceTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ResourceTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<ResourceTypeEnum>() {
@Override
public String toCodeString(ResourceTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public ResourceTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ResourceTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,127 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum SearchParamTypeEnum {
/**
* number
*
*
* Search parameter SHALL be a number (a whole number, or a decimal).
*/
NUMBER("number"),
/**
* date
*
*
* Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.
*/
DATE("date"),
/**
* string
*
*
* Search parameter is a simple string, like a name part. Search is case-insensitive and accent-insensitive. May match just the start of a string. String parameters may contain spaces.
*/
STRING("string"),
/**
* token
*
*
* Search parameter on a coded element or identifier. May be used to search through the text, displayname, code and code/codesystem (for codes) and label, system and key (for identifier). Its value is either a string or a pair of namespace and value, separated by a "|", depending on the modifier used.
*/
TOKEN("token"),
/**
* reference
*
*
* A reference to another resource.
*/
REFERENCE("reference"),
/**
* composite
*
*
* A composite search parameter that combines a search on two values together.
*/
COMPOSITE("composite"),
/**
* quantity
*
*
* A search parameter that searches on a quantity.
*/
QUANTITY("quantity"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/search-param-type
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/search-param-type";
/**
* Name for this Value Set:
* SearchParamType
*/
public static final String VALUESET_NAME = "SearchParamType";
private static Map<String, SearchParamTypeEnum> CODE_TO_ENUM = new HashMap<String, SearchParamTypeEnum>();
private String myCode;
static {
for (SearchParamTypeEnum next : SearchParamTypeEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public SearchParamTypeEnum forCode(String theCode) {
SearchParamTypeEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<SearchParamTypeEnum> VALUESET_BINDER = new IValueSetEnumBinder<SearchParamTypeEnum>() {
@Override
public String toCodeString(SearchParamTypeEnum theEnum) {
return theEnum.getCode();
}
@Override
public SearchParamTypeEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
SearchParamTypeEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,95 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum SlicingRulesEnum {
/**
* closed
*
*
* No additional content is allowed other than that described by the slices in this profile.
*/
CLOSED("closed"),
/**
* open
*
*
* Additional content is allowed anywhere in the list.
*/
OPEN("open"),
/**
* openAtEnd
*
*
* Additional content is allowed, but only at the end of the list.
*/
OPENATEND("openAtEnd"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/resource-slicing-rules
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/resource-slicing-rules";
/**
* Name for this Value Set:
* SlicingRules
*/
public static final String VALUESET_NAME = "SlicingRules";
private static Map<String, SlicingRulesEnum> CODE_TO_ENUM = new HashMap<String, SlicingRulesEnum>();
private String myCode;
static {
for (SlicingRulesEnum next : SlicingRulesEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public SlicingRulesEnum forCode(String theCode) {
SlicingRulesEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<SlicingRulesEnum> VALUESET_BINDER = new IValueSetEnumBinder<SlicingRulesEnum>() {
@Override
public String toCodeString(SlicingRulesEnum theEnum) {
return theEnum.getCode();
}
@Override
public SlicingRulesEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
SlicingRulesEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,71 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum SpecimenCollectionMethodEnum {
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/specimen-collection-method
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/specimen-collection-method";
/**
* Name for this Value Set:
* SpecimenCollectionMethod
*/
public static final String VALUESET_NAME = "SpecimenCollectionMethod";
private static Map<String, SpecimenCollectionMethodEnum> CODE_TO_ENUM = new HashMap<String, SpecimenCollectionMethodEnum>();
private String myCode;
static {
for (SpecimenCollectionMethodEnum next : SpecimenCollectionMethodEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public SpecimenCollectionMethodEnum forCode(String theCode) {
SpecimenCollectionMethodEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<SpecimenCollectionMethodEnum> VALUESET_BINDER = new IValueSetEnumBinder<SpecimenCollectionMethodEnum>() {
@Override
public String toCodeString(SpecimenCollectionMethodEnum theEnum) {
return theEnum.getCode();
}
@Override
public SpecimenCollectionMethodEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
SpecimenCollectionMethodEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,71 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum SpecimenTreatmentProcedureEnum {
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/specimen-treatment-procedure
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/specimen-treatment-procedure";
/**
* Name for this Value Set:
* SpecimenTreatmentProcedure
*/
public static final String VALUESET_NAME = "SpecimenTreatmentProcedure";
private static Map<String, SpecimenTreatmentProcedureEnum> CODE_TO_ENUM = new HashMap<String, SpecimenTreatmentProcedureEnum>();
private String myCode;
static {
for (SpecimenTreatmentProcedureEnum next : SpecimenTreatmentProcedureEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public SpecimenTreatmentProcedureEnum forCode(String theCode) {
SpecimenTreatmentProcedureEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<SpecimenTreatmentProcedureEnum> VALUESET_BINDER = new IValueSetEnumBinder<SpecimenTreatmentProcedureEnum>() {
@Override
public String toCodeString(SpecimenTreatmentProcedureEnum theEnum) {
return theEnum.getCode();
}
@Override
public SpecimenTreatmentProcedureEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
SpecimenTreatmentProcedureEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -0,0 +1,95 @@
package ca.uhn.fhir.model.dstu.valueset;
import ca.uhn.fhir.model.api.*;
import java.util.HashMap;
import java.util.Map;
public enum ValueSetStatusEnum {
/**
* draft
*
*
* This valueset is still under development.
*/
DRAFT("draft"),
/**
* active
*
*
* This valueset is ready for normal use.
*/
ACTIVE("active"),
/**
* retired
*
*
* This valueset has been withdrawn or superceded and should no longer be used.
*/
RETIRED("retired"),
;
/**
* Identifier for this Value Set:
* http://hl7.org/fhir/vs/valueset-status
*/
public static final String VALUESET_IDENTIFIER = "http://hl7.org/fhir/vs/valueset-status";
/**
* Name for this Value Set:
* ValueSetStatus
*/
public static final String VALUESET_NAME = "ValueSetStatus";
private static Map<String, ValueSetStatusEnum> CODE_TO_ENUM = new HashMap<String, ValueSetStatusEnum>();
private String myCode;
static {
for (ValueSetStatusEnum next : ValueSetStatusEnum.values()) {
CODE_TO_ENUM.put(next.getCode(), next);
}
}
/**
* Returns the code associated with this enumerated value
*/
public String getCode() {
return myCode;
}
/**
* Returns the enumerated value associated with this code
*/
public ValueSetStatusEnum forCode(String theCode) {
ValueSetStatusEnum retVal = CODE_TO_ENUM.get(theCode);
return retVal;
}
/**
* Converts codes to their respective enumerated values
*/
public static final IValueSetEnumBinder<ValueSetStatusEnum> VALUESET_BINDER = new IValueSetEnumBinder<ValueSetStatusEnum>() {
@Override
public String toCodeString(ValueSetStatusEnum theEnum) {
return theEnum.getCode();
}
@Override
public ValueSetStatusEnum fromCodeString(String theCodeString) {
return CODE_TO_ENUM.get(theCodeString);
}
};
/**
* Constructor
*/
ValueSetStatusEnum(String theCode) {
myCode = theCode;
}
}

View File

@ -1,37 +0,0 @@
package ca.uhn.fhir.model.primitive;
import java.util.List;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
@DatatypeDef(name="CodeableConcept")
public class CodeableConceptDt extends BaseElement implements ICodedDatatype, ICompositeDatatype {
@Child(name="coding", order=0, min=0, max=Child.MAX_UNLIMITED)
private List<CodingDt> myCoding;
@Child(name="text",order=1)
private StringDt myText;
public List<CodingDt> getCoding() {
return myCoding;
}
public void setCoding(List<CodingDt> theCoding) {
myCoding = theCoding;
}
public StringDt getText() {
return myText;
}
public void setText(StringDt theText) {
myText = theText;
}
}

View File

@ -1,84 +0,0 @@
package ca.uhn.fhir.model.primitive;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.ResourceReference;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.ChildResource;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.dstu.resource.ValueSet;
@DatatypeDef(name="Coding")
public class CodingDt extends BaseElement implements ICompositeDatatype {
@Child(name="system", order=0)
private UriDt mySystem;
@Child(name="version", order=1)
private StringDt myVersion;
@Child(name="code", order=2)
private CodeDt myCode;
@Child(name="display", order=3)
private StringDt myDisplay;
@Child(name="primary", order=4)
private BooleanDt myPrimary;
@Child(name="assigner", order=5)
@ChildResource(types= {ValueSet.class})
private ResourceReference myAssigner;
public UriDt getSystem() {
return mySystem;
}
public void setSystem(UriDt theSystem) {
mySystem = theSystem;
}
public StringDt getVersion() {
return myVersion;
}
public void setVersion(StringDt theVersion) {
myVersion = theVersion;
}
public CodeDt getCode() {
return myCode;
}
public void setCode(CodeDt theCode) {
myCode = theCode;
}
public StringDt getDisplay() {
return myDisplay;
}
public void setDisplay(StringDt theDisplay) {
myDisplay = theDisplay;
}
public BooleanDt getPrimary() {
return myPrimary;
}
public void setPrimary(BooleanDt thePrimary) {
myPrimary = thePrimary;
}
public ResourceReference getAssigner() {
return myAssigner;
}
public void setAssigner(ResourceReference theAssigner) {
myAssigner = theAssigner;
}
}

View File

@ -1,85 +0,0 @@
package ca.uhn.fhir.model.primitive;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.CodeableConceptElement;
import ca.uhn.fhir.model.api.ICompositeDatatype;
import ca.uhn.fhir.model.api.ResourceReference;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.ChildResource;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
import ca.uhn.fhir.model.dstu.resource.Organization;
import ca.uhn.fhir.model.enm.IdentifierUseEnum;
@DatatypeDef(name="identifier")
public class IdentifierDt extends BaseElement implements ICompositeDatatype {
@Child(name="use", order=0)
@CodeableConceptElement(type=IdentifierUseEnum.class)
private CodeDt myUse;
@Child(name="label", order=1)
private StringDt myLabel;
@Child(name="system", order=2)
private UriDt mySystem;
@Child(name="value", order=3)
private StringDt myValue;
@Child(name="period", order=4)
private PeriodDt myPeriod;
@Child(name="assigner", order=5)
@ChildResource(types= {Organization.class})
private ResourceReference myAssigner;
public CodeDt getUse() {
return myUse;
}
public void setUse(CodeDt theUse) {
myUse = theUse;
}
public StringDt getLabel() {
return myLabel;
}
public void setLabel(StringDt theLabel) {
myLabel = theLabel;
}
public UriDt getSystem() {
return mySystem;
}
public void setSystem(UriDt theSystem) {
mySystem = theSystem;
}
public StringDt getValue() {
return myValue;
}
public void setValue(StringDt theValue) {
myValue = theValue;
}
public PeriodDt getPeriod() {
return myPeriod;
}
public void setPeriod(PeriodDt thePeriod) {
myPeriod = thePeriod;
}
public ResourceReference getAssigner() {
return myAssigner;
}
public void setAssigner(ResourceReference theAssigner) {
myAssigner = theAssigner;
}
}

View File

@ -1,5 +1,7 @@
package ca.uhn.fhir.model.primitive;
import org.apache.commons.lang3.StringUtils;
import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.IPrimitiveDatatype;
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
@ -31,6 +33,10 @@ public class StringDt extends BaseElement implements IPrimitiveDatatype<String>
return myValue;
}
public String getValueNotNull() {
return StringUtils.defaultString(myValue);
}
@Override
public String getValueAsString() {
return myValue;

View File

@ -298,7 +298,7 @@ class ParserState<T extends IElement> {
push(new AtomPrimitiveState(myInstance.getId()));
} else if ("link".equals(theLocalPart)) {
push(new AtomLinkState(myInstance));
} else if ("totalresults".equals(theLocalPart) && verifyNamespace(XmlParser.OPENSEARCH_NS, theNamespaceURI)) {
} else if ("totalResults".equals(theLocalPart) && verifyNamespace(XmlParser.OPENSEARCH_NS, theNamespaceURI)) {
push(new AtomPrimitiveState(myInstance.getTotalResults()));
} else if ("updated".equals(theLocalPart)) {
push(new AtomPrimitiveState(myInstance.getUpdated()));

View File

@ -35,7 +35,7 @@ public class ModelScannerTest {
assertNotNull(valueDate);
childExt = ext.getChildExtensionForUrl("http://bar/1/2");
assertNotNull(childExt);
childExt = childExt.getChildExtensionForUrl("http://baz/1/2/1");
childExt = childExt.getChildExtensionForUrl("http://bar/1/2/1");
assertNotNull(childExt);
valueDate = childExt.getChildByName("valueDate");
assertNotNull(valueDate);

View File

@ -8,8 +8,8 @@ import ca.uhn.fhir.model.api.annotation.Block;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.Extension;
import ca.uhn.fhir.model.api.annotation.ResourceDef;
import ca.uhn.fhir.model.dstu.composite.IdentifierDt;
import ca.uhn.fhir.model.primitive.DateDt;
import ca.uhn.fhir.model.primitive.IdentifierDt;
import ca.uhn.fhir.model.primitive.StringDt;
@ResourceDef(name = "ResourceWithExtensionsA")

View File

@ -1,6 +1,7 @@
package ca.uhn.fhir.parser;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.io.StringReader;
@ -135,6 +136,7 @@ public class XmlParserTest {
" </extension>\n" +
" <identifier>\n" +
" <label value=\"IdentifierLabel\"/>\n" +
" <period />\n" + // this line can be removed once the parser encoding doesn't spit it out
" </identifier>\n" +
"</ResourceWithExtensionsA>";
//@formatter:on

View File

@ -1,260 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry combineaccessrules="false" kind="src" path="/hapi-fhir-base"/>
<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="src" path="target/generated/valuesets"/>
<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="var" path="M2_REPO/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar" sourcepath="M2_REPO/javax/enterprise/cdi-api/1.0/cdi-api-1.0-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/javax/inject/javax.inject/1/javax.inject-1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar" sourcepath="M2_REPO/javax/annotation/jsr250-api/1.0/jsr250-api-1.0-sources.jar"/>
<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
<classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar" sourcepath="M2_REPO/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.jar" sourcepath="M2_REPO/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.jar" sourcepath="M2_REPO/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar" sourcepath="M2_REPO/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.2/antlr-2.7.2.jar" sourcepath="M2_REPO/antlr/antlr/2.7.2/antlr-2.7.2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1.jar" sourcepath="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.5/commons-codec-1.5.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.5/commons-codec-1.5-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-codec/commons-codec/1.5/commons-codec-1.5-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar" sourcepath="M2_REPO/javax/enterprise/cdi-api/1.0/cdi-api-1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar" sourcepath="M2_REPO/javax/annotation/jsr250-api/1.0/jsr250-api-1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="M2_REPO/org/apache/velocity/velocity/1.7/velocity-1.7.jar" sourcepath="M2_REPO/org/apache/velocity/velocity/1.7/velocity-1.7-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.8/commons-digester-1.8.jar" sourcepath="M2_REPO/commons-digester/commons-digester/1.8/commons-digester-1.8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3.2/commons-io-1.3.2-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3.2-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1.jar" sourcepath="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar" sourcepath="M2_REPO/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.1/dom4j-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/oro/oro/2.0.8/oro-2.0.8.jar" sourcepath="M2_REPO/oro/oro/2.0.8/oro-2.0.8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/sslext/sslext/1.2-0/sslext-1.2-0.jar" sourcepath="M2_REPO/sslext/sslext/1.2-0/sslext-1.2-0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar" sourcepath="M2_REPO/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.2/antlr-2.7.2.jar" sourcepath="M2_REPO/antlr/antlr/2.7.2/antlr-2.7.2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar" sourcepath="M2_REPO/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar" sourcepath="M2_REPO/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar" sourcepath="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:file:/home/t3903uhn/.m2/repository/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar" sourcepath="M2_REPO/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/guava/guava/10.0.1/guava-10.0.1.jar" sourcepath="M2_REPO/com/google/guava/guava/10.0.1/guava-10.0.1-sources.jar">
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/com/google/guava/guava/10.0.1/guava-10.0.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/junit/junit/4.11/junit-4.11-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:file:/home/t3903uhn/.m2/repository/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.jar" sourcepath="M2_REPO/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:file:/home/t3903uhn/.m2/repository/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/ch/qos/logback/logback-core/1.1.1/logback-core-1.1.1.jar" sourcepath="M2_REPO/ch/qos/logback/logback-core/1.1.1/logback-core-1.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/ch/qos/logback/logback-core/1.1.1/logback-core-1.1.1-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:file:/home/t3903uhn/.m2/repository/ch/qos/logback/logback-core/1.1.1/logback-core-1.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1-sources.jar">
<classpathentry kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:file:/home/t3903uhn/.m2/repository/junit/junit/4.11/junit-4.11-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1-sources.jar">
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:file:/home/t3903uhn/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0.11/maven-artifact-manager-2.0.11.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0.11/maven-artifact-manager-2.0.11-sources.jar">
<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3.2/commons-io-1.3.2-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-artifact-manager/2.0.11/maven-artifact-manager-2.0.11-javadoc.jar!/"/>
<attribute name="javadoc_location" value="jar:file:/home/t3903uhn/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3.2-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-registry/2.0.11/maven-plugin-registry-2.0.11.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-registry/2.0.11/maven-plugin-registry-2.0.11-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-plugin-registry/2.0.11/maven-plugin-registry-2.0.11-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0.11/maven-profile-2.0.11.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0.11/maven-profile-2.0.11-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-profile/2.0.11/maven-profile-2.0.11-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0.11/maven-project-2.0.11.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0.11/maven-project-2.0.11-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-project/2.0.11/maven-project-2.0.11-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar" sourcepath="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.jar" sourcepath="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/oro/oro/2.0.8/oro-2.0.8.jar" sourcepath="M2_REPO/oro/oro/2.0.8/oro-2.0.8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar" sourcepath="M2_REPO/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar" sourcepath="M2_REPO/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/poi/poi/3.10-FINAL/poi-3.10-FINAL.jar" sourcepath="M2_REPO/org/apache/poi/poi/3.10-FINAL/poi-3.10-FINAL-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/poi/poi-ooxml/3.10-FINAL/poi-ooxml-3.10-FINAL.jar" sourcepath="M2_REPO/org/apache/poi/poi-ooxml/3.10-FINAL/poi-ooxml-3.10-FINAL-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/poi/poi-ooxml-schemas/3.10-FINAL/poi-ooxml-schemas-3.10-FINAL.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/3.2.1/maven-plugin-api-3.2.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/3.2.1/maven-plugin-api-3.2.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/3.2.1/maven-model-3.2.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/3.2.1/maven-model-3.2.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/3.0.17/plexus-utils-3.0.17.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/3.0.17/plexus-utils-3.0.17-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/3.2.1/maven-artifact-3.2.1.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/3.2.1/maven-artifact-3.2.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.jar" sourcepath="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/guava/guava/10.0.1/guava-10.0.1.jar" sourcepath="M2_REPO/com/google/guava/guava/10.0.1/guava-10.0.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar"/>
<classpathentry kind="var" path="M2_REPO/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar"/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/sslext/sslext/1.2-0/sslext-1.2-0.jar" sourcepath="M2_REPO/sslext/sslext/1.2-0/sslext-1.2-0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar" sourcepath="M2_REPO/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar" sourcepath="M2_REPO/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar" sourcepath="M2_REPO/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/velocity/velocity/1.7/velocity-1.7.jar" sourcepath="M2_REPO/org/apache/velocity/velocity/1.7/velocity-1.7-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/velocity/velocity/1.7/velocity-1.7-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar"/>
<classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar" sourcepath="M2_REPO/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.jar" sourcepath="M2_REPO/org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2-sources.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/hapi-fhir-base"/>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -1,17 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>hapi-tinder-plugin</name>
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
<name>hapi-tinder-plugin</name>
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
<projects/>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -1,11 +1,12 @@
#Mon Mar 03 15:01:12 EST 2014
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.source=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7

View File

@ -1,4 +1,5 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@ -10,21 +11,16 @@
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-tinder-plugin</artifactId>
<!--<packaging>maven-plugin</packaging> -->
<packaging>jar</packaging>
<packaging>maven-plugin</packaging>
<!-- <packaging>jar</packaging> -->
<name>HAPI FHIR-Starter Maven Plugin</name>
<name>HAPI Tinder Plugin</name>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10-FINAL</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.10-FINAL</version>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
@ -45,7 +41,12 @@
<artifactId>commons-lang3</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
@ -77,44 +78,19 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.0.11</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven_version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
</exclusions>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${maven_version}</version>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>${maven_version}</version>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${maven_version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>${maven_version}</version>
</dependency>
</dependencies>
<properties>
@ -122,9 +98,13 @@
</properties>
<build>
<plugins>
<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId>
<version>3.2</version> <configuration> <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
</configuration> <executions> <execution> <id>mojo-descriptor</id> <goals>
<goal>descriptor</goal> </goals> </execution> </executions> </plugin> -->
</plugins>
</build>
</project>

View File

@ -14,6 +14,7 @@ import java.util.List;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.w3c.dom.Element;
@ -30,11 +31,10 @@ import ca.uhn.fhir.tinder.model.SimpleSetter.Parameter;
public abstract class BaseStructureParser {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(BaseStructureParser.class);
private String myDirectory;
private ArrayList<Extension> myExtensions;
private List<Resource> myResources = new ArrayList<Resource>();
public void bindValueSets(ValueSetParser theVsp) {
public void bindValueSets(ValueSetGenerator theVsp) {
for (Resource next : myResources) {
bindValueSets(next, theVsp);
}
@ -44,11 +44,8 @@ public abstract class BaseStructureParser {
myResources.add(theResource);
}
public String getDirectory() {
return myDirectory;
}
private void bindValueSets(BaseElement theResource, ValueSetParser theVsp) {
private void bindValueSets(BaseElement theResource, ValueSetGenerator theVsp) {
if (isNotBlank(theResource.getBinding())) {
String bindingClass = theVsp.getClassForValueSetIdAndMarkAsNeeded(theResource.getBinding());
if (bindingClass!= null) {
@ -108,38 +105,39 @@ public abstract class BaseStructureParser {
throw new IllegalArgumentException(theBase.getCanonicalName() + " has @" + SimpleSetter.class.getCanonicalName() + " constructor with no/invalid parameter annotation");
}
public void setDirectory(String theDirectory) {
myDirectory = theDirectory;
}
public void setExtensions(ArrayList<Extension> theExts) {
myExtensions = theExts;
}
public void writeAll(String theOutputDirectory) throws IOException {
File targetDir = new File(theOutputDirectory);
if (!targetDir.exists()) {
targetDir.mkdirs();
public void writeAll(File theOutputDirectory, String thePackageBase) throws MojoFailureException {
if (!theOutputDirectory.exists()) {
theOutputDirectory.mkdirs();
}
if (!targetDir.isDirectory()) {
throw new IOException(theOutputDirectory + " is not a directory");
if (!theOutputDirectory.isDirectory()) {
throw new MojoFailureException(theOutputDirectory + " is not a directory");
}
for (Resource next : myResources) {
File f = new File(theOutputDirectory, next.getName() + getFilenameSuffix() + ".java");
write(next, f);
try {
write(next, f, thePackageBase);
} catch (IOException e) {
throw new MojoFailureException("Failed to write structure", e);
}
}
}
protected abstract String getFilenameSuffix();
private void write(Resource theResource, File theFile) throws IOException {
private void write(Resource theResource, File theFile, String thePackageBase) throws IOException {
FileWriter w = new FileWriter(theFile, false);
ourLog.info("Writing file: {}", theFile.getAbsolutePath());
VelocityContext ctx = new VelocityContext();
ctx.put("packageBase", thePackageBase);
ctx.put("className", theResource.getName());
ctx.put("shortName", defaultString(theResource.getShortName()));
ctx.put("definition", defaultString(theResource.getDefinition()));
@ -153,7 +151,7 @@ public abstract class BaseStructureParser {
v.setProperty("cp.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
v.setProperty("runtime.references.strict", Boolean.TRUE);
InputStream templateIs = ResourceSpreadsheetParser.class.getResourceAsStream(getTemplate());
InputStream templateIs = ResourceGeneratorUsingSpreadsheet.class.getResourceAsStream(getTemplate());
InputStreamReader templateReader = new InputStreamReader(templateIs);
v.evaluate(ctx, w, "", templateReader);

View File

@ -1,7 +1,7 @@
package ca.uhn.fhir.tinder;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@ -30,88 +30,78 @@ public abstract class BaseStructureSpreadsheetParser extends BaseStructureParser
private int myColV2Mapping;
public void parse() throws Exception {
File baseDir = new File(getDirectory());
if (baseDir.exists() == false || baseDir.isDirectory() == false) {
throw new Exception(getDirectory() + " does not exist or is not a directory");
}
for (File nextFile : baseDir.listFiles()) {
if (isSpreadsheet(nextFile.getAbsolutePath())) {
ourLog.info("Scanning file: {}", nextFile.getAbsolutePath());
for (InputStream nextInputStream : getInputStreams()) {
Document file = XMLUtils.parse(nextInputStream, false);
Element dataElementsSheet = (Element) file.getElementsByTagName("Worksheet").item(0);
NodeList tableList = dataElementsSheet.getElementsByTagName("Table");
Element table = (Element) tableList.item(0);
File resourceSpreadsheetFile = nextFile;
if (resourceSpreadsheetFile.exists() == false) {
throw new Exception(resourceSpreadsheetFile.getAbsolutePath() + " does not exist");
NodeList rows = table.getElementsByTagName("Row");
Element defRow = (Element) rows.item(0);
parseFirstRow(defRow);
Element resourceRow = (Element) rows.item(1);
Resource resource = new Resource();
addResource(resource);
parseBasicElements(resourceRow, resource);
Map<String, BaseElement> elements = new HashMap<String, BaseElement>();
elements.put(resource.getElementName(), resource);
// Map<String,String> blockFullNameToShortName = new
// HashMap<String,String>();
for (int i = 2; i < rows.getLength(); i++) {
Element nextRow = (Element) rows.item(i);
String name = cellValue(nextRow, 0);
if (name == null || name.startsWith("!")) {
continue;
}
Document file = XMLUtils.parse(new FileInputStream(resourceSpreadsheetFile), false);
Element dataElementsSheet = (Element) file.getElementsByTagName("Worksheet").item(0);
NodeList tableList = dataElementsSheet.getElementsByTagName("Table");
Element table = (Element) tableList.item(0);
String type = cellValue(nextRow, myColType);
NodeList rows = table.getElementsByTagName("Row");
Child elem;
if (StringUtils.isBlank(type) || type.startsWith("=")) {
elem = new ResourceBlock();
} else if (type.startsWith("@")) {
// type = type.substring(type.lastIndexOf('.')+1);
elem = new ResourceBlockCopy();
} else if (type.equals("*")) {
elem = new AnyChild();
} else {
elem = new Child();
}
Element defRow = (Element) rows.item(0);
parseFirstRow(defRow);
parseBasicElements(nextRow, elem);
Element resourceRow = (Element) rows.item(1);
Resource resource = new Resource();
addResource(resource);
parseBasicElements(resourceRow, resource);
Map<String, BaseElement> elements = new HashMap<String, BaseElement>();
elements.put(resource.getElementName(), resource);
// Map<String,String> blockFullNameToShortName = new
// HashMap<String,String>();
for (int i = 2; i < rows.getLength(); i++) {
Element nextRow = (Element) rows.item(i);
String name = cellValue(nextRow, 0);
if (name == null || name.startsWith("!")) {
continue;
}
String type = cellValue(nextRow, myColType);
Child elem;
if (StringUtils.isBlank(type) || type.startsWith("=")) {
elem = new ResourceBlock();
} else if (type.startsWith("@")) {
// type = type.substring(type.lastIndexOf('.')+1);
elem = new ResourceBlockCopy();
} else if (type.equals("*")) {
elem = new AnyChild();
} else {
elem = new Child();
}
parseBasicElements(nextRow, elem);
elements.put(elem.getName(), elem);
BaseElement parent = elements.get(elem.getElementParentName());
if (parent == null) {
throw new Exception("Can't find element " + elem.getElementParentName() + " - Valid values are: " + elements.keySet());
}
parent.addChild(elem);
/*
* Find simple setters
*/
if (elem instanceof Child) {
scanForSimpleSetters(elem);
}
elements.put(elem.getName(), elem);
BaseElement parent = elements.get(elem.getElementParentName());
if (parent == null) {
throw new Exception("Can't find element " + elem.getElementParentName() + " - Valid values are: " + elements.keySet());
}
parent.addChild(elem);
/*
* Find simple setters
*/
if (elem instanceof Child) {
scanForSimpleSetters(elem);
}
}
}
ourLog.info("Parsed {} resources", getResources().size());
ourLog.info("Parsed {} spreadsheet structures", getResources().size());
}
protected abstract Collection<InputStream> getInputStreams();
private void parseFirstRow(Element theDefRow) {
for (int i = 0; i < 20; i++) {
String nextName = cellValue(theDefRow, i);
@ -143,7 +133,7 @@ public abstract class BaseStructureSpreadsheetParser extends BaseStructureParser
String name = cellValue(theRowXml, myColName);
theTarget.setName(name);
theTarget.setElementName(name);
theTarget.setElementNameAndDeriveParentElementName(name);
String cardValue = cellValue(theRowXml, myColCard);
if (cardValue != null && cardValue.contains("..")) {

View File

@ -0,0 +1,45 @@
package ca.uhn.fhir.tinder;
import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
public class DatatypeGeneratorUsingSpreadsheet extends BaseStructureSpreadsheetParser {
@Override
protected String getTemplate() {
return "/vm/dt_composite.vm";
}
@Override
protected String getFilenameSuffix() {
return "Dt";
}
@Override
protected Collection<InputStream> getInputStreams() {
ArrayList<InputStream> retVal = new ArrayList<InputStream>();
retVal.add(getClass().getResourceAsStream("/dt/address.xml"));
retVal.add(getClass().getResourceAsStream("/dt/coding.xml"));
retVal.add(getClass().getResourceAsStream("/dt/humanname.xml"));
retVal.add(getClass().getResourceAsStream("/dt/period.xml"));
retVal.add(getClass().getResourceAsStream("/dt/ratio.xml"));
retVal.add(getClass().getResourceAsStream("/dt/schedule.xml"));
retVal.add(getClass().getResourceAsStream("/dt/attachment.xml"));
retVal.add(getClass().getResourceAsStream("/dt/contact.xml"));
retVal.add(getClass().getResourceAsStream("/dt/identifier.xml"));
retVal.add(getClass().getResourceAsStream("/dt/quantity.xml"));
retVal.add(getClass().getResourceAsStream("/dt/resourcereference.xml"));
retVal.add(getClass().getResourceAsStream("/dt/codeableconcept.xml"));
// retVal.add(getClass().getResourceAsStream("/dt/extension.xml"));
// retVal.add(getClass().getResourceAsStream("/dt/narrative.xml"));
retVal.add(getClass().getResourceAsStream("/dt/range.xml"));
retVal.add(getClass().getResourceAsStream("/dt/sampleddata.xml"));
return retVal;
}
}

View File

@ -1,51 +0,0 @@
package ca.uhn.fhir.tinder;
public class DatatypeSpreadsheetParser extends BaseStructureSpreadsheetParser {
@Override
protected String getTemplate() {
return "/dt_composite.vm";
}
@Override
protected String getFilenameSuffix() {
return "Dt";
}
// @Override
// protected void parseBasicElements(Element theRowXml, BaseElement theTarget) {
// String name = cellValue(theRowXml, 0);
// theTarget.setName(name);
//
// int lastDot = name.lastIndexOf('.');
// if (lastDot == -1) {
// theTarget.setElementName(name);
// } else {
// String elementName = name.substring(lastDot + 1);
// String elementParentName = name.substring(0, lastDot);
// theTarget.setElementName(elementName);
// theTarget.setElementParentName(elementParentName);
// }
//
// String cardValue = cellValue(theRowXml, 1);
// if (cardValue != null && cardValue.contains("..")) {
// String[] split = cardValue.split("\\.\\.");
// theTarget.setCardMin(split[0]);
// theTarget.setCardMax(split[1]);
// }
//
//
// String type = cellValue(theRowXml, 4);
// theTarget.setTypeFromString(type);
//
// theTarget.setBinding(cellValue(theRowXml, 5));
// theTarget.setShortName(cellValue(theRowXml, 6));
// theTarget.setDefinition(cellValue(theRowXml, 7));
// theTarget.setRequirement(cellValue(theRowXml, 6));
// theTarget.setV2Mapping(cellValue(theRowXml, 13));
// }
}

View File

@ -1,20 +1,24 @@
package ca.uhn.fhir.tinder;
import static org.apache.commons.lang.StringUtils.*;
import static org.apache.commons.lang.StringUtils.capitalize;
import static org.apache.commons.lang.StringUtils.isBlank;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xslf.model.geom.AddSubtractExpression;
import org.apache.maven.plugin.MojoFailureException;
import ca.uhn.fhir.context.ConfigurationException;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.api.Bundle;
import ca.uhn.fhir.model.api.BundleEntry;
import ca.uhn.fhir.model.dstu.resource.Profile;
import ca.uhn.fhir.model.dstu.resource.Profile.ExtensionDefn;
import ca.uhn.fhir.model.dstu.resource.Profile.Structure;
@ -22,39 +26,41 @@ import ca.uhn.fhir.model.dstu.resource.Profile.StructureElement;
import ca.uhn.fhir.model.dstu.resource.Profile.StructureElementDefinition;
import ca.uhn.fhir.model.dstu.resource.Profile.StructureElementDefinitionType;
import ca.uhn.fhir.model.dstu.valueset.DataTypeEnum;
import ca.uhn.fhir.parser.DataFormatException;
import ca.uhn.fhir.parser.XmlParser;
import ca.uhn.fhir.tinder.model.AnyChild;
import ca.uhn.fhir.tinder.model.BaseElement;
import ca.uhn.fhir.tinder.model.Child;
import ca.uhn.fhir.tinder.model.Resource;
import ca.uhn.fhir.tinder.model.ResourceBlock;
import ca.uhn.fhir.tinder.model.ResourceBlockCopy;
import ca.uhn.fhir.tinder.model.Slicing;
public class ProfileParser extends BaseStructureParser {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ProfileParser.class);
public static void main(String[] args) throws Exception {
FhirContext fhirContext = new FhirContext(Profile.class);
XmlParser parser = fhirContext.newXmlParser();
String file = IOUtils.toString(new FileReader("src/test/resources/prof/organization.xml"));
Profile text = (Profile) parser.parseResource(file);
ValueSetParser vsp = new ValueSetParser();
vsp.setDirectory("src/test/resources/vs/");
vsp.parse();
ProfileParser p = new ProfileParser();
p.parseSingleProfile(text);
p.bindValueSets(vsp);
p.writeAll("target/generated/valuesets/ca/uhn/fhir/model/dstu/resource");
// FhirContext fhirContext = new FhirContext(Profile.class);
// XmlParser parser = fhirContext.newXmlParser();
//
// String file = IOUtils.toString(new FileReader("src/test/resources/prof/organization.xml"));
// Profile text = (Profile) parser.parseResource(file);
//
// ValueSetGenerator vsp = new ValueSetGenerator();
// vsp.setDirectory("src/test/resources/vs/");
// vsp.parse();
//
// ProfileParser p = new ProfileParser();
// p.parseSingleProfile(text, "http://fhir.connectinggta.ca/static/Profile/organization.xml");
// p.bindValueSets(vsp);
// p.writeAll("target/generated/valuesets/ca/uhn/fhir/model/dstu/resource");
//
// vsp.writeMarkedValueSets("target/generated/valuesets/ca/uhn/fhir/model/dstu/valueset");
}
public void parseSingleProfile(Profile theProfile) throws Exception {
public void parseSingleProfile(Profile theProfile, String theUrlTOThisProfile) throws Exception {
for (Structure nextStructure : theProfile.getStructure()) {
int elemIdx = 0;
@ -78,7 +84,7 @@ public class ProfileParser extends BaseStructureParser {
}
elem.setName(next.getPath().getValue());
elem.setElementName(next.getPath().getValue());
elem.setElementNameAndDeriveParentElementName(next.getPath().getValue());
boolean allResourceReferences = next.getDefinition().getType().size() > 0;
for (StructureElementDefinitionType nextType : next.getDefinition().getType()) {
@ -123,6 +129,12 @@ public class ProfileParser extends BaseStructureParser {
if (next.getDefinition().getType().size() != 1 || next.getDefinition().getType().get(0).getCode().getValueAsEnum() != DataTypeEnum.EXTENSION) {
throw new ConfigurationException("Extension slices must have a single type with a code of 'Extension'");
}
String name = next.getName().getValue();
if (StringUtils.isBlank(name)) {
throw new ConfigurationException("Extension slices must have a 'name' defined, none found at path: " + next.getPath());
}
elem.setName(name);
elem.setElementName(name);
String profile = next.getDefinition().getType().get(0).getProfile().getValueAsString();
if (isBlank(profile)) {
throw new ConfigurationException("Extension slice for " + next.getPath().getValue() + " has no profile specified in its type");
@ -134,6 +146,8 @@ public class ProfileParser extends BaseStructureParser {
}
ourLog.info("Element at path {} is using extension {}", next.getPath(), profile);
definition = extension.getDefinition();
String extensionUrl = theUrlTOThisProfile + profile;
elem.setExtensionUrl(extensionUrl);
} else {
// TODO: implement this
throw new ConfigurationException("Extensions specified outside of the given profile are not yet supported");
@ -207,7 +221,32 @@ public class ProfileParser extends BaseStructureParser {
@Override
protected String getTemplate() {
return "/resource.vm";
return "/vm/resource.vm";
}
public void parseBaseResources(List<String> theBaseResourceNames) throws MojoFailureException {
for (int i = 0; i < theBaseResourceNames.size(); i++) {
theBaseResourceNames.set(i, theBaseResourceNames.get(i).toLowerCase());
}
FhirContext fhirContext = new FhirContext(Profile.class);
try {
Bundle bundle = fhirContext.newXmlParser().parseBundle(IOUtils.toString(getClass().getResourceAsStream("/prof/allprofiles.xml")));
TreeSet<String> allProfiles = new TreeSet<String>();
for (BundleEntry nextResource : bundle.getEntries() ) {
Profile nextProfile = (Profile) nextResource.getResource();
allProfiles.add(nextProfile.getName().getValue());
if (theBaseResourceNames.contains(nextProfile.getName().getValue().toLowerCase())){
parseSingleProfile(nextProfile, bundle.getLinkBase().getValueNotNull());
}
}
ourLog.info("Base profiles found: {}", allProfiles);
} catch (Exception e) {
throw new MojoFailureException("Failed to load base resources", e);
}
}
}

View File

@ -1,13 +1,22 @@
package ca.uhn.fhir.tinder;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.apache.maven.plugin.MojoFailureException;
public class ResourceSpreadsheetParser extends BaseStructureSpreadsheetParser {
public class ResourceGeneratorUsingSpreadsheet extends BaseStructureSpreadsheetParser {
private ArrayList<InputStream> myInputStreams;
@Override
protected String getTemplate() {
return "/resource.vm";
return "/vm/resource.vm";
}
@Override
@ -121,4 +130,21 @@ public class ResourceSpreadsheetParser extends BaseStructureSpreadsheetParser {
}
@Override
protected Collection<InputStream> getInputStreams() {
return myInputStreams;
}
public void setBaseResourceNames(List<String> theBaseResourceNames) throws MojoFailureException {
myInputStreams = new ArrayList<InputStream>();
for (String next : theBaseResourceNames) {
InputStream nextRes = getClass().getResourceAsStream("/res/" + next + "-spreadsheet.xml");
myInputStreams.add(nextRes);
if (nextRes == null) {
throw new MojoFailureException("Unknown base resource name: " + next);
}
}
}
}

View File

@ -1,32 +1,118 @@
package ca.uhn.fhir.tinder;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
public class TinderMojo {
import org.apache.commons.lang3.StringUtils;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
public static void main(String[] args) throws Exception {
@Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
public class TinderMojo extends AbstractMojo {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(TinderMojo.class);
@Parameter(alias = "package", required = true)
private String myPackage;
@Parameter(alias = "targetDirectory", required = true, defaultValue = "${project.build.directory}/generated-sources/tinder")
private String myTargetDirectory;
@Parameter(property = "generate.valueSetResourceXmlDirectory", required = false)
private String myValueSetResourceXmlDirectory;
@Parameter(alias = "baseResourceNames", required = true)
private List<String> myBaseResourceNames;
@Component
private MavenProject myProject;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
if (StringUtils.isBlank(myPackage)) {
throw new MojoFailureException("Package not specified");
}
if (myPackage.contains("..") || myPackage.endsWith(".")) {
throw new MojoFailureException("Invalid package specified");
}
ValueSetParser vsp = new ValueSetParser();
vsp.setDirectory("src/test/resources/vs/");
vsp.parse();
ourLog.info("Beginning HAPI-FHIR Tinder Code Generation...");
DatatypeSpreadsheetParser dtp = new DatatypeSpreadsheetParser();
dtp.setDirectory("src/test/resources/dt");
dtp.parse();
ourLog.info(" * Output Package: " + myPackage);
File directoryBase = new File(new File(myTargetDirectory), myPackage.replace('.', File.separatorChar));
directoryBase.mkdirs();
ourLog.info(" * Output Directory: " + directoryBase.getAbsolutePath());
ValueSetGenerator vsp = new ValueSetGenerator();
vsp.setDirectory(myValueSetResourceXmlDirectory);
try {
vsp.parse();
} catch (Exception e) {
throw new MojoFailureException("Failed to load valuesets", e);
}
ourLog.info("Loading Datatypes...");
DatatypeGeneratorUsingSpreadsheet dtp = new DatatypeGeneratorUsingSpreadsheet();
try {
dtp.parse();
} catch (Exception e) {
throw new MojoFailureException("Failed to load datatypes", e);
}
dtp.bindValueSets(vsp);
String dtOutputDir = "target/generated/valuesets/ca/uhn/fhir/model/dstu/composite";
dtp.writeAll(dtOutputDir);
ResourceSpreadsheetParser rp = new ResourceSpreadsheetParser();
rp.setDirectory("src/test/resources/res");
rp.parse();
rp.bindValueSets(vsp);
String rpOutputDir = "target/generated/valuesets/ca/uhn/fhir/model/dstu/resource";
rp.writeAll(rpOutputDir);
ourLog.info("Loading Resources...");
ResourceGeneratorUsingSpreadsheet rp = new ResourceGeneratorUsingSpreadsheet();
try {
rp.setBaseResourceNames(myBaseResourceNames);
rp.parse();
} catch (Exception e) {
throw new MojoFailureException("Failed to load resources", e);
}
rp.bindValueSets(vsp);
String vsOutputDir = "target/generated/valuesets/ca/uhn/fhir/model/dstu/valueset";
vsp.writeMarkedValueSets(vsOutputDir);
ourLog.info("Writing Resources...");
rp.writeAll(new File(directoryBase, "resource"), myPackage);
ourLog.info("Writing Composite Datatypes...");
dtp.writeAll(new File(directoryBase, "composite"), myPackage);
ourLog.info("Writing ValueSet Enums...");
vsp.writeMarkedValueSets(new File(directoryBase, "valueset"), myPackage);
myProject.addCompileSourceRoot(myTargetDirectory);
}
public static void main(String[] args) throws Exception {
// ValueSetGenerator vsp = new ValueSetGenerator();
// vsp.setDirectory("src/test/resources/vs/");
// vsp.parse();
//
// DatatypeGeneratorUsingSpreadsheet dtp = new DatatypeGeneratorUsingSpreadsheet();
// dtp.parse();
// dtp.bindValueSets(vsp);
//
// String dtOutputDir = "target/generated/valuesets/ca/uhn/fhir/model/dstu/composite";
// dtp.writeAll(dtOutputDir);
//
// ResourceGeneratorUsingSpreadsheet rp = new ResourceGeneratorUsingSpreadsheet();
// rp.parse();
// rp.bindValueSets(vsp);
//
// String rpOutputDir = "target/generated/valuesets/ca/uhn/fhir/model/dstu/resource";
// rp.writeAll(rpOutputDir);
//
// String vsOutputDir = "target/generated/valuesets/ca/uhn/fhir/model/dstu/valueset";
// vsp.writeMarkedValueSets(vsOutputDir);
}
}

View File

@ -4,6 +4,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@ -14,8 +15,10 @@ import java.util.Map;
import java.util.Set;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.filefilter.WildcardFileFilter;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.WordUtils;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
@ -24,16 +27,19 @@ import ca.uhn.fhir.model.api.Bundle;
import ca.uhn.fhir.model.api.BundleEntry;
import ca.uhn.fhir.model.dstu.resource.ValueSet;
import ca.uhn.fhir.model.dstu.resource.ValueSet.DefineConcept;
import ca.uhn.fhir.parser.XmlParser;
import ca.uhn.fhir.tinder.model.ValueSetTm;
import ca.uhn.fhir.tinder.model.ValueSetTm.Code;
public class ValueSetParser {
public class ValueSetGenerator {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ValueSetParser.class);
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ValueSetGenerator.class);
private String myDirectory;
private Set<ValueSetTm> myMarkedValueSets = new HashSet<ValueSetTm>();
private Map<String, ValueSetTm> myValueSets = new HashMap<String, ValueSetTm>();
private int myValueSetCount;
private int myConceptCount;
public String getClassForValueSetIdAndMarkAsNeeded(String theId) {
ValueSetTm vs = myValueSets.get(theId);
@ -46,57 +52,66 @@ public class ValueSetParser {
}
public void parse() throws FileNotFoundException, IOException {
String string = IOUtils.toString(new FileReader(myDirectory + "valuesets.xml"));
Bundle bundle = new FhirContext(ValueSet.class).newXmlParser().parseBundle(string);
XmlParser newXmlParser = new FhirContext(ValueSet.class).newXmlParser();
int vsCount = 0;
int conceptCount = 0;
ourLog.info("Parsing built-in ValueSets");
String vs = IOUtils.toString(ValueSetGenerator.class.getResourceAsStream("/vs/all-valuesets-bundle.xml"));
Bundle bundle = newXmlParser.parseBundle(vs);
for (BundleEntry next : bundle.getEntries()) {
ValueSet nextVs = (ValueSet) next.getResource();
conceptCount += nextVs.getDefine().getConcept().size();
ourLog.info("Parsing ValueSetTm #{} - {} - {} concepts total", vsCount++, nextVs.getName().getValue(), conceptCount);
// output.addConcept(next.getCode().getValue(),
// next.getDisplay().getValue(), next.getDefinition());
ValueSetTm vs = new ValueSetTm();
vs.setName(nextVs.getName().getValue());
vs.setDescription(nextVs.getDescription().getValue());
vs.setId(nextVs.getIdentifier().getValue());
vs.setClassName(toClassName(nextVs.getName().getValue()));
for (DefineConcept nextConcept : nextVs.getDefine().getConcept()) {
String nextCodeValue = nextConcept.getCode().getValue();
String nextCodeDisplay = StringUtils.defaultString(nextConcept.getDisplay().getValue());
String nextCodeDefinition = StringUtils.defaultString(nextConcept.getDefinition().getValue());
vs.getCodes().add(new Code(nextCodeValue, nextCodeDisplay, nextCodeDefinition));
}
if (myValueSets.containsKey(vs.getName())) {
ourLog.warn("Duplicate Name: " + vs.getName());
continue;
}
myValueSets.put(vs.getName(), vs);
// if (vsCount > 5) {
// break;
// }
parseValueSet(nextVs);
}
if (myDirectory != null) {
File[] files = new File(myDirectory).listFiles((FilenameFilter) new WildcardFileFilter("*.xml"));
for (File file : files) {
ourLog.info("Parsing ValueSet file: {}" + file.getName());
vs = IOUtils.toString(new FileReader(file));
ValueSet nextVs = (ValueSet) newXmlParser.parseResource(vs);
parseValueSet(nextVs);
}
}
}
private void parseValueSet(ValueSet nextVs) {
myConceptCount += nextVs.getDefine().getConcept().size();
ourLog.info("Parsing ValueSetTm #{} - {} - {} concepts total", myValueSetCount++, nextVs.getName().getValue(), myConceptCount);
// output.addConcept(next.getCode().getValue(),
// next.getDisplay().getValue(), next.getDefinition());
ValueSetTm vs = new ValueSetTm();
vs.setName(nextVs.getName().getValue());
vs.setDescription(nextVs.getDescription().getValue());
vs.setId(nextVs.getIdentifier().getValue());
vs.setClassName(toClassName(nextVs.getName().getValue()));
for (DefineConcept nextConcept : nextVs.getDefine().getConcept()) {
String nextCodeValue = nextConcept.getCode().getValue();
String nextCodeDisplay = StringUtils.defaultString(nextConcept.getDisplay().getValue());
String nextCodeDefinition = StringUtils.defaultString(nextConcept.getDefinition().getValue());
vs.getCodes().add(new Code(nextCodeValue, nextCodeDisplay, nextCodeDefinition));
}
if (myValueSets.containsKey(vs.getName())) {
ourLog.warn("Duplicate Name: " + vs.getName());
} else {
myValueSets.put(vs.getName(), vs);
}
}
public void setDirectory(String theString) {
myDirectory = theString;
}
public void write(Collection<ValueSetTm> theValueSets, String theOutputDirectory) throws IOException {
public void write(Collection<ValueSetTm> theValueSets, File theOutputDirectory, String thePackageBase) throws IOException {
for (ValueSetTm nextValueSetTm : theValueSets) {
write(nextValueSetTm, theOutputDirectory);
write(nextValueSetTm, theOutputDirectory, thePackageBase);
}
}
private String toClassName(String theValue) {
StringBuilder b = new StringBuilder();
for (String next : theValue.split("\\s+")) {
@ -116,7 +131,7 @@ public class ValueSetParser {
}
b.append(next);
}
b.append("Enum");
return b.toString();
}
@ -125,12 +140,11 @@ public class ValueSetParser {
// myValueSetName = theString;
// }
private void write(ValueSetTm theValueSetTm, String theOutputDirectory) throws IOException {
File targetDir = new File(theOutputDirectory);
if (!targetDir.exists()) {
targetDir.mkdirs();
private void write(ValueSetTm theValueSetTm, File theOutputDirectory, String thePackageBase) throws IOException {
if (!theOutputDirectory.exists()) {
theOutputDirectory.mkdirs();
}
if (!targetDir.isDirectory()) {
if (!theOutputDirectory.isDirectory()) {
throw new IOException(theOutputDirectory + " is not a directory");
}
@ -141,13 +155,14 @@ public class ValueSetParser {
VelocityContext ctx = new VelocityContext();
ctx.put("valueSet", theValueSetTm);
ctx.put("packageBase", thePackageBase);
VelocityEngine v = new VelocityEngine();
v.setProperty("resource.loader", "cp");
v.setProperty("cp.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
v.setProperty("runtime.references.strict", Boolean.TRUE);
InputStream templateIs = ResourceSpreadsheetParser.class.getResourceAsStream("/valueset.vm");
InputStream templateIs = ResourceGeneratorUsingSpreadsheet.class.getResourceAsStream("/vm/valueset.vm");
InputStreamReader templateReader = new InputStreamReader(templateIs);
v.evaluate(ctx, w, "", templateReader);
@ -162,8 +177,12 @@ public class ValueSetParser {
}
public void writeMarkedValueSets(String theOutputDirectory) throws IOException {
write(myMarkedValueSets, theOutputDirectory);
public void writeMarkedValueSets(File theOutputDirectory, String thePackageBase) throws MojoFailureException {
try {
write(myMarkedValueSets, theOutputDirectory, thePackageBase);
} catch (IOException e) {
throw new MojoFailureException("Failed to write valueset", e);
}
}
}

View File

@ -27,6 +27,7 @@ public abstract class BaseElement {
private String myShortName;
private List<String> myType;
private String myV2Mapping;
private String myExtensionUrl;
public void addChild(Child theElem) {
if (myChildren == null) {
@ -150,6 +151,10 @@ public abstract class BaseElement {
}
public void setElementName(String theName) {
myElementName = theName;
}
public void setElementNameAndDeriveParentElementName(String theName) {
int lastDot = theName.lastIndexOf('.');
if (lastDot == -1) {
myElementName = (theName);
@ -217,4 +222,16 @@ public abstract class BaseElement {
myV2Mapping = theV2Mapping;
}
public void setExtensionUrl(String theExtensionUrl) {
myExtensionUrl = theExtensionUrl;
}
public boolean isHasExtensionUrl() {
return StringUtils.isNotBlank(myExtensionUrl);
}
public String getExtensionUrl() {
return myExtensionUrl;
}
}

View File

@ -71,8 +71,8 @@ public class Extension extends Child {
}
@Override
public void setElementName(String theName) {
super.setElementName(theName);
public void setElementNameAndDeriveParentElementName(String theName) {
super.setElementNameAndDeriveParentElementName(theName);
if (getName() == null) {
super.setName(theName);
}
@ -82,7 +82,7 @@ public class Extension extends Child {
public void setName(String theName) {
super.setName(theName);
if (getElementName() == null) {
super.setElementName(theName);
super.setElementNameAndDeriveParentElementName(theName);
}
}

View File

@ -3,6 +3,7 @@ package ca.uhn.fhir.tinder.model;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.validator.ISBNValidator;
import org.codehaus.plexus.util.StringUtils;
public class ValueSetTm {
@ -99,7 +100,11 @@ public class ValueSetTm {
}
public String getCodeEnumValue() {
String retVal = myCode.toUpperCase().replace(' ', '_').replace('-', '_').replace('/', '_').replace('.', '_');
String retVal = myDisplay;
if (StringUtils.isBlank(retVal)) {
retVal = myCode;
}
retVal = retVal.toUpperCase().replace(' ', '_').replace('-', '_').replace('/', '_').replace('.', '_').replace(':', '_').replace("'", "");
if ("=".equals(retVal)) {
retVal = "EQUALS";
}
@ -131,6 +136,14 @@ public class ValueSetTm {
return myDisplay;
}
public boolean isHasDefinition() {
return StringUtils.isNotBlank(myDefinition);
}
public boolean isHasDisplay() {
return StringUtils.isNotBlank(myDisplay);
}
}
}

View File

@ -0,0 +1,342 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:25:39Z</Created>
<LastSaved>2013-08-12T11:30:54Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>9810</WindowHeight>
<WindowWidth>26235</WindowWidth>
<WindowTopX>1740</WindowTopX>
<WindowTopY>2310</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:WrapText="1"/>
</Style>
<Style ss:ID="s67">
<Alignment ss:Vertical="Top" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
<Style ss:ID="s68">
<Alignment ss:Vertical="Top" ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s70">
<Alignment ss:Vertical="Top"/>
</Style>
<Style ss:ID="s71">
<Alignment ss:Vertical="Top" ss:WrapText="1"/>
</Style>
<Style ss:ID="s72">
<Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="15" ss:ExpandedRowCount="10" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="117.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="33" ss:Span="1"/>
<Column ss:Index="4" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="60"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="69"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="62.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="163.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="192.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="85.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="192.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="161.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="114"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135" ss:Span="1"/>
<Column ss:Index="15" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="81"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Is Modifier</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Binding</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Example</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="78.75">
<Cell><Data ss:Type="String">Attachment</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Content in a format defined elsewhere</Data></Cell>
<Cell><Data ss:Type="String">For referring to data content defined in other formats.</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">Many models need to include data defined in other specifications that is complex and opaque to the healthcare model. This includes documents, media recordings, structured data, etc.</Data></Cell>
<Cell ss:Index="12"><Data ss:Type="String">ED</Data></Cell>
<Cell><Data ss:Type="String">ED/RP</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell><Data ss:Type="String">Attachment.contentType</Data></Cell>
<Cell><Data ss:Type="String">1..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">code</Data></Cell>
<Cell><Data ss:Type="String">MimeType</Data></Cell>
<Cell><Data ss:Type="String">Mime type of the content, with charset etc.</Data></Cell>
<Cell><Data ss:Type="String">Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate</Data></Cell>
<Cell><Data ss:Type="String">text/plain; charset=UTF-8, image/png</Data></Cell>
<Cell><Data ss:Type="String">Processors of the data need to be able to know how to interpret the data</Data></Cell>
<Cell ss:Index="12"><Data ss:Type="String">./mediaType, ./charset</Data></Cell>
<Cell><Data ss:Type="String">ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell><Data ss:Type="String">Attachment.language</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">code</Data></Cell>
<Cell><Data ss:Type="String">Language</Data></Cell>
<Cell><Data ss:Type="String">Human language of the content (BCP-47)</Data></Cell>
<Cell><Data ss:Type="String">The human language of the content. The value can be any valid value according to BCP 47</Data></Cell>
<Cell><Data ss:Type="String">en-AU</Data></Cell>
<Cell><Data ss:Type="String">Users need to be able to choose between the languages in a set of attachments</Data></Cell>
<Cell ss:Index="12"><Data ss:Type="String">./language</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="44.25">
<Cell><Data ss:Type="String">Attachment.data</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">base64Binary</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Data inline, base64ed</Data></Cell>
<Cell><Data ss:Type="String">The actual data of the attachment - a sequence of bytes. In XML, represented using base64</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">The data needs to able to be transmitted inline</Data></Cell>
<Cell><Data ss:Type="String">The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON</Data></Cell>
<Cell><Data ss:Type="String">./data</Data></Cell>
<Cell><Data ss:Type="String">ED.5</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="150">
<Cell><Data ss:Type="String">Attachment.url</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">uri</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Uri where the data can be found</Data></Cell>
<Cell><Data ss:Type="String">An alternative location where the data can be accessed</Data></Cell>
<Cell ss:StyleID="s66"><Data ss:Type="String">http://www.acme.com/logo-small.png</Data></Cell>
<Cell><Data ss:Type="String">The data needs to be transmitted by reference</Data></Cell>
<Cell><Data ss:Type="String">If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data. </Data></Cell>
<Cell><Data ss:Type="String">./reference/literal</Data></Cell>
<Cell><Data ss:Type="String">RP.1+RP.2 - if they refer to a URL (see v2.6)</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="150">
<Cell><Data ss:Type="String">Attachment.size</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">integer</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Number of bytes of content (if url provided)</Data></Cell>
<Cell><Data ss:Type="String">The number of bytes of data that make up this attachment.</Data></Cell>
<Cell ss:StyleID="s66"/>
<Cell><Data ss:Type="String">Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all</Data></Cell>
<Cell><Data ss:Type="String">The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference</Data></Cell>
<Cell><Data ss:Type="String">N/A (needs data type R3 proposal)</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="109.5">
<Cell><Data ss:Type="String">Attachment.hash</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">base64Binary</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Hash of the data (sha-1, base64ed )</Data></Cell>
<Cell><Data ss:Type="String">The calculated hash of the data using SHA-1. Represented using base64</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">Included so that applications can verify that the contents of a location have not changed and so that a signature of the content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature</Data></Cell>
<Cell ss:Index="12"><Data ss:Type="String">.integrityCheck[parent::ED/integrityCheckAlgorithm=&quot;SHA-1&quot;]</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="60">
<Cell><Data ss:Type="String">!Attachment.lang</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">code</Data></Cell>
<Cell><Data ss:Type="String">Language</Data></Cell>
<Cell><Data ss:Type="String">ISO 639-3 language code</Data></Cell>
<Cell><Data ss:Type="String">The language that the attachment is in</Data></Cell>
<Cell><Data ss:Type="String">eng (English), esp (Spanish)</Data></Cell>
<Cell><Data ss:Type="String">May need to be able to pick the right language to render for a particular person from a list of attachments in different languages</Data></Cell>
<Cell><Data ss:Type="String">note that the v3 lang is ISO 639-2 and this is ISO 639-3</Data></Cell>
<Cell><Data ss:Type="String">./language</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell><Data ss:Type="String">Attachment.title</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Label to display in place of the data</Data></Cell>
<Cell><Data ss:Type="String">A label or set of text to display in place of the data</Data></Cell>
<Cell><Data ss:Type="String">&quot;Official Corporate Logo&quot;</Data></Cell>
<Cell><Data ss:Type="String">Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.</Data></Cell>
<Cell ss:Index="12"><Data ss:Type="String">./title/data</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Print>
<ValidPrinterInfo/>
<PaperSizeIndex>9</PaperSizeIndex>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>300</VerticalResolution>
</Print>
<Selected/>
<TopRowVisible>2</TopRowVisible>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>8</ActiveRow>
<ActiveCol>9</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s67" ss:DefaultRowHeight="15">
<Column ss:Index="2" ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="102"
ss:Span="1"/>
<Column ss:Index="4" ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="386.25"/>
<Column ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="347.25"/>
<Column ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="292.5"/>
<Row ss:AutoFitHeight="0" ss:StyleID="s64">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Context</Data></Cell>
<Cell><Data ss:Type="String">English</Data></Cell>
<Cell><Data ss:Type="String">OCL</Data></Cell>
<Cell><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="30">
<Cell><Data ss:Type="String">!1</Data></Cell>
<Cell><Data ss:Type="String">Must Have Data</Data></Cell>
<Cell><Data ss:Type="String">Attachment</Data></Cell>
<Cell ss:StyleID="s68"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40"><Font html:Color="#000000">Unless the Attachment element has a dataAbsentReason flag, it SHALL contain a </Font><I><Font
html:Color="#000000">data</Font></I><Font html:Color="#000000"> or a </Font><I><Font
html:Color="#000000">url</Font></I><Font html:Color="#000000"> (or both)</Font></ss:Data></Cell>
<Cell><Data ss:Type="String">dataAbsentReason.oclIsDefined or data.size &gt; 0 or url.size &gt; 0</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">exists(@dataAbsentReason) or exists(f:data) or exists(f:url)</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Print>
<ValidPrinterInfo/>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>600</VerticalResolution>
</Print>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>2</ActiveRow>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Bindings">
<Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="3" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s70" ss:DefaultRowHeight="15">
<Column ss:StyleID="s70" ss:AutoFitWidth="0" ss:Width="94.5"/>
<Column ss:StyleID="s70" ss:AutoFitWidth="0" ss:Width="130.5"/>
<Column ss:StyleID="s70" ss:AutoFitWidth="0" ss:Width="180"/>
<Column ss:StyleID="s70" ss:Width="200.25"/>
<Column ss:StyleID="s70" ss:AutoFitWidth="0" ss:Width="386.25"/>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s64"><Data ss:Type="String">Binding Name</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Definition</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Binding</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Reference</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Description</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="30">
<Cell ss:StyleID="s71"><Data ss:Type="String">MimeType</Data></Cell>
<Cell ss:StyleID="s71"><Data ss:Type="String">The mime type of an attachment</Data></Cell>
<Cell ss:StyleID="s71"><Data ss:Type="String">reference</Data></Cell>
<Cell ss:StyleID="s71"><Data ss:Type="String">http://www.rfc-editor.org/bcp/bcp13.txt</Data></Cell>
<Cell ss:StyleID="s71"><Data ss:Type="String">BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s72"><Data ss:Type="String">Language</Data></Cell>
<Cell ss:StyleID="s72"><Data ss:Type="String">A human language</Data></Cell>
<Cell ss:StyleID="s72"><Data ss:Type="String">reference</Data></Cell>
<Cell ss:StyleID="s72"><Data ss:Type="String">http://tools.ietf.org/html/bcp47</Data></Cell>
<Cell ss:StyleID="s72"><Data ss:Type="String">IETF language tag</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>3</ActiveRow>
<ActiveCol>3</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,194 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:24:50Z</Created>
<LastSaved>2012-05-31T06:51:22Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>10560</WindowHeight>
<WindowWidth>29040</WindowWidth>
<WindowTopX>5865</WindowTopX>
<WindowTopY>6870</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Vertical="Top" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="15" ss:ExpandedRowCount="5" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="197.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="34.5" ss:Span="1"/>
<Column ss:Index="4" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="61.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="56.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="44.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="143.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="213.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="120.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="201"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="198"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135" ss:Span="1"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Must Understand</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Concept Domain</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Example</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="110.25">
<Cell><Data ss:Type="String">CodeableConcept</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Concept - reference to a terminology or just text</Data></Cell>
<Cell><Data ss:Type="String">A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">This is a common pattern in healthcare - a concept that may be defined by one or more codes from formal definitions including LOINC and SNOMED CT, and/or defined by the provision of text that captures a human sense of the concept</Data></Cell>
<Cell><Data ss:Type="String">Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination</Data></Cell>
<Cell><Data ss:Type="String">CD</Data></Cell>
<Cell><Data ss:Type="String">CE/CNE/CWE</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="105">
<Cell><Data ss:Type="String">CodeableConcept.coding</Data></Cell>
<Cell><Data ss:Type="String">0..*</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">Coding</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Code defined by a terminology system </Data></Cell>
<Cell><Data ss:Type="String">A reference to a code defined by a terminology system </Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.</Data></Cell>
<Cell><Data ss:Type="String">Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the V3 Core Principles for more information. Ordering of codings is undefined and SHALL not be used to infer meaning.</Data></Cell>
<Cell><Data ss:Type="String">union(., ./translation)</Data></Cell>
<Cell><Data ss:Type="String">C*E.1-8, C*E.10-22</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="135">
<Cell><Data ss:Type="String">CodeableConcept.text</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Plain text representation of the concept</Data></Cell>
<Cell><Data ss:Type="String">A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source</Data></Cell>
<Cell><Data ss:Type="String">Very often the text is the same as a displayName of one of the codings</Data></Cell>
<Cell><Data ss:Type="String">./originalText[mediaType/code=&quot;text/plain&quot;]/data</Data></Cell>
<Cell><Data ss:Type="String">C*E.9. But note many systems use C*E.2 for this</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="90"/>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>4</ActiveRow>
<ActiveCol>9</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s66" ss:DefaultRowHeight="15">
<Column ss:Index="2" ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="155.25"
ss:Span="1"/>
<Column ss:Index="4" ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="301.5"/>
<Column ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="359.25"/>
<Column ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="265.5"/>
<Row ss:AutoFitHeight="0" ss:StyleID="s64">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Context</Data></Cell>
<Cell><Data ss:Type="String">English</Data></Cell>
<Cell><Data ss:Type="String">OCL</Data></Cell>
<Cell><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="30">
<Cell><Data ss:Type="Number">2</Data></Cell>
<Cell><Data ss:Type="String">Coding.primary rule</Data></Cell>
<Cell><Data ss:Type="String">CodeableConcept</Data></Cell>
<Cell><Data ss:Type="String">Only one coding in a set can be chosen directly by the user</Data></Cell>
<Cell><Data ss:Type="String">codings.collect(primary = true)-&gt;size() &lt; 1</Data></Cell>
<Cell><Data ss:Type="String">count(f:coding[f:primary/@value='true'])&lt;1</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>2</ActiveRow>
<ActiveCol>5</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,302 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:24:32Z</Created>
<LastSaved>2013-10-01T23:08:35Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>9645</WindowHeight>
<WindowWidth>25815</WindowWidth>
<WindowTopX>2310</WindowTopX>
<WindowTopY>2625</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s67">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s68">
<Alignment ss:Vertical="Bottom" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Names>
<NamedRange ss:Name="_FilterDatabase" ss:RefersTo="='Data Elements'!R1C1:R7C15"
ss:Hidden="1"/>
</Names>
<Table ss:ExpandedColumnCount="15" ss:ExpandedRowCount="8" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="150.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="56.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="36.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="35.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="56.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="82.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="213.75" ss:Span="1"/>
<Column ss:Index="9" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="161.25"
ss:Span="1"/>
<Column ss:Index="11" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="198.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Card.</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Inv.</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Must Understand</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Type</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Concept Domain</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Short Name</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Definition</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Example</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Requirements</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Comments</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">To Do</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="90">
<Cell><Data ss:Type="String">Coding</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s65"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s65"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s65"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Type</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="7"><Data ss:Type="String">A reference to a code defined by a terminology system </Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">A reference to a code defined by a terminology system </Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="10"><Data ss:Type="String">References to codes are very common in healthcare models</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the V3 Core Principles for more information</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">CV</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">CE/CNE/CWE subset one of the sets of component 1-3 or 4-6</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="133.5">
<Cell><Data ss:Type="String">Coding.system</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">0..1</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="5"><Data ss:Type="String">uri</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Identity of the terminology system </Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">The identification of the code system that defines the meaning of the symbol in the code. </Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Need to be unambiguous about the source of the definition of the symbol</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">./codeSystem</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">C*E.3</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="133.5">
<Cell><Data ss:Type="String">Coding.version</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">0..1</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Version of the system - if relevant</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and When the meaning is not guaranteed to be consistent, the version SHOULD be exchanged</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="12"><Data ss:Type="String">./codeSystemVersion</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">C*E.7</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="60">
<Cell><Data ss:Type="String">Coding.code</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">0..1</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="5"><Data ss:Type="String">code</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Symbol in syntax defined by the system</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Need to refer to a particular code in the system</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="12"><Data ss:Type="String">./code</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">C*E.1</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="60">
<Cell><Data ss:Type="String">Coding.display</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">0..1</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Representation defined by the system</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">A representation of the meaning of the code in the system, following the rules of the system. </Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Need to be able to carry a human-readable meaning of the code for readers that do not know the system</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">CV.displayName</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s67"><Data ss:Type="String">C*E.2 - but note this is not well followed</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="15" ss:StyleID="Default"><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="String">Coding.primary</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">0..1</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="5"><Data ss:Type="String">boolean</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="7"><Data ss:Type="String">If this code was chosen directly by the user</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Indicates that this code was chosen by a user directly - i.e. off a pick list of available items (codes or displays)</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="10"><Data ss:Type="String">This has been identified as a clinical safety criterium - that this exact code was chosen explicitly, rather than inferred by the system based on some rules or language processing</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">CD.codingRationale</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell><Data ss:Type="String">Sometimes implied by being first</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="String">Coding.valueSet</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">Resource(ValueSet)</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Set this coding was chosen from</Data></Cell>
<Cell><Data ss:Type="String">The set of possible coded values this coding was chosen from or constrained by</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">The value set may influence the codes that the user can select. Also, referencing the value set directly makes it easier to share ad-hoc code systems used across healthcare</Data></Cell>
<Cell ss:Index="12"><Data ss:Type="String">CD.valueSet / CD.valueSetVersion</Data></Cell>
<Cell><Data ss:Type="String">C*E.16 - .19</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>8</ActiveRow>
<ActiveCol>9</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s68" ss:DefaultRowHeight="15">
<Column ss:Index="3" ss:StyleID="s68" ss:AutoFitWidth="0" ss:Width="185.25"/>
<Column ss:StyleID="s68" ss:AutoFitWidth="0" ss:Width="342.75"/>
<Column ss:StyleID="s68" ss:AutoFitWidth="0" ss:Width="267.75"/>
<Column ss:StyleID="s68" ss:AutoFitWidth="0" ss:Width="305.25"/>
<Row ss:AutoFitHeight="0" ss:StyleID="s64">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell><Data ss:Type="String">Context</Data></Cell>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">English</Data></Cell>
<Cell><Data ss:Type="String">OCL</Data></Cell>
<Cell><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell><Data ss:Type="String">Coding</Data></Cell>
<Cell><Data ss:Type="String">Value set doesn't substitute for system</Data></Cell>
<Cell><Data ss:Type="String">If a valueSet is provided, a system URI Is required</Data></Cell>
<Cell ss:Index="6"><Data ss:Type="String">not (exists(f:valueSet) and exists(f:code)) or exists(f:system)</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>1</ActiveRow>
<ActiveCol>3</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,181 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:23:41Z</Created>
<LastSaved>2013-02-01T12:14:49Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>9225</WindowHeight>
<WindowWidth>15570</WindowWidth>
<WindowTopX>2880</WindowTopX>
<WindowTopY>3000</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#D9D9D9" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Vertical="Top"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s67">
<Alignment ss:Vertical="Top" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="5" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="130.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="39.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="28.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="33"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="56.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="82.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="213.75" ss:Span="1"/>
<Column ss:Index="9" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="161.25"
ss:Span="1"/>
<Column ss:Index="11" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135"
ss:Span="1"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Is Modifier</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Concept Domain</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell><Data ss:Type="String">Extension</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell ss:Index="8"><Data ss:Type="String">Optional Extensions Element - found in all resources</Data></Cell>
<Cell><Data ss:Type="String">The ability to add extensions in a structured way is what keeps FHIR resources simple</Data></Cell>
<Cell ss:Index="11"><Data ss:Type="String">N/A</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="60">
<Cell ss:StyleID="s66"><Data ss:Type="String">Extension.@url</Data></Cell>
<Cell><Data ss:Type="String">1..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">uri</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">identifies the meaning of the extension</Data></Cell>
<Cell><Data ss:Type="String">Source of the definition for the extension code - a logical name or a URL</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition should be version specific. This will ideally be the URI for the Resource Profile defining the extension, with the code for the extension after a #</Data></Cell>
<Cell><Data ss:Type="String">N/A</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="60">
<Cell><Data ss:Type="String">Extension.value[x]</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">*</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Value of extension</Data></Cell>
<Cell><Data ss:Type="String">Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list)</Data></Cell>
<Cell ss:Index="11"><Data ss:Type="String">N/A</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="30"/>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>2</ActiveRow>
<ActiveCol>2</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="1" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s67" ss:DefaultRowHeight="15">
<Column ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="27"/>
<Column ss:StyleID="s67" ss:Width="66"/>
<Column ss:StyleID="s67" ss:Width="51"/>
<Column ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="243.75"/>
<Column ss:Index="6" ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="198.75"/>
<Row ss:AutoFitHeight="0" ss:StyleID="s64">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Context</Data></Cell>
<Cell><Data ss:Type="String">English</Data></Cell>
<Cell><Data ss:Type="String">OCL</Data></Cell>
<Cell><Data ss:Type="String">XPath</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>1</ActiveRow>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,461 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:22:15Z</Created>
<LastSaved>2013-12-01T20:02:05Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>8220</WindowHeight>
<WindowWidth>24615</WindowWidth>
<WindowTopX>3510</WindowTopX>
<WindowTopY>4050</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62" ss:Name="Normal 2">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Vertical="Top" ss:ShrinkToFit="1" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s67">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s69">
<Alignment ss:Vertical="Top" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
<Style ss:ID="s70">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s71">
<Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
</Style>
<Style ss:ID="s72">
<Font ss:FontName="Verdana" x:Family="Swiss" ss:Size="9" ss:Color="#333333"/>
</Style>
<Style ss:ID="s73">
<Alignment ss:Vertical="Top" ss:WrapText="1"/>
</Style>
<Style ss:ID="s75" ss:Parent="s62">
<Alignment ss:Vertical="Top" ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s76" ss:Parent="s62">
<Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s78">
<Alignment ss:Horizontal="Right" ss:Vertical="Top" ss:WrapText="1"/>
</Style>
<Style ss:ID="s79" ss:Parent="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="17" ss:ExpandedRowCount="12" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s63" ss:DefaultRowHeight="15">
<Column ss:StyleID="s64" ss:AutoFitWidth="0" ss:Width="120"/>
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="41.25" ss:Span="1"/>
<Column ss:Index="4" ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="37.5"/>
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="85.5"/>
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="78.75"/>
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="213.75" ss:Span="1"/>
<Column ss:Index="9" ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="54"/>
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="161.25"/>
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="182.25" ss:Span="1"/>
<Column ss:Index="13" ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="135"
ss:Span="2"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s65">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Is Modifier</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Binding</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Aliases</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell ss:StyleID="s66"><Data ss:Type="String">vCard Mapping</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">ServD Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="237.75">
<Cell><Data ss:Type="String">HumanName</Data></Cell>
<Cell ss:StyleID="s67"/>
<Cell ss:StyleID="s67"/>
<Cell ss:StyleID="s67"/>
<Cell><Data ss:Type="String">Structure</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Name of a human - parts and usage</Data></Cell>
<Cell><Data ss:Type="String">A human's name with the ability to identify parts and usage</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">Need to be able to record names, along with notes about their use</Data></Cell>
<Cell><Data ss:Type="String">Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.</Data></Cell>
<Cell ss:StyleID="Default"/>
<Cell><Data ss:Type="String">EN (actually, PN)</Data></Cell>
<Cell><Data ss:Type="String">XPN</Data></Cell>
<Cell><Data ss:Type="String">ProviderName</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="60">
<Cell><Data ss:Type="String">HumanName.use</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="4"><Data ss:Type="String">Y</Data></Cell>
<Cell><Data ss:Type="String">code</Data></Cell>
<Cell><Data ss:Type="String">NameUse</Data></Cell>
<Cell><Data ss:Type="String">usual | official | temp | nickname | anonymous | old | maiden</Data></Cell>
<Cell><Data ss:Type="String">Identifies the purpose for this name</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">Allows the appropriate name for a particular context of use to be selected from among a set of names</Data></Cell>
<Cell><Data ss:Type="String">This is labeled as &quot;Is Modifier&quot; because applications should not mistake a temporary or old name etc for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old</Data></Cell>
<Cell ss:StyleID="Default"/>
<Cell><Data ss:Type="String">unique(./use)</Data></Cell>
<Cell><Data ss:Type="String">XPN.7, but often indicated by which field contains the name</Data></Cell>
<Cell><Data ss:Type="String">./NamePurpose</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="90">
<Cell><Data ss:Type="String">HumanName.text</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Text representation of the full name</Data></Cell>
<Cell><Data ss:Type="String">A full text representation of the name</Data></Cell>
<Cell ss:Index="10" ss:StyleID="s69"><Data ss:Type="String">A renderable, unencoded form</Data></Cell>
<Cell><Data ss:Type="String">Can provide both a text representation and structured parts. &#10;</Data></Cell>
<Cell ss:StyleID="Default"/>
<Cell><Data ss:Type="String">./formatted</Data></Cell>
<Cell><Data ss:Type="String">implied by XPN.11</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="50.25">
<Cell><Data ss:Type="String">HumanName.family</Data></Cell>
<Cell><Data ss:Type="String">0..*</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Family name (often called 'Surname')</Data></Cell>
<Cell><Data ss:Type="String">The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.</Data></Cell>
<Cell><Data ss:Type="String">surname</Data></Cell>
<Cell ss:StyleID="s69"/>
<Cell><Data ss:Type="String">For family name, hyphenated names such as &quot;Smith-Jones&quot; are a single name, but names with spaces such as &quot;Smith Jones&quot; are broken into multiple parts</Data></Cell>
<Cell ss:StyleID="Default"/>
<Cell><Data ss:Type="String">./part[partType = FAM]</Data></Cell>
<Cell><Data ss:Type="String">XPN.1</Data></Cell>
<Cell><Data ss:Type="String">./FamilyName</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="46.5">
<Cell><Data ss:Type="String">HumanName.given</Data></Cell>
<Cell><Data ss:Type="String">0..*</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Given names (not always 'first'). Includes middle names</Data></Cell>
<Cell><Data ss:Type="String">Given name</Data></Cell>
<Cell><Data ss:Type="String">first name; middle name</Data></Cell>
<Cell ss:StyleID="s69"/>
<Cell><Data ss:Type="String">If only initials are recorded, they may be used in place of the full name. Not called &quot;first name&quot; since given names do not always come first.</Data></Cell>
<Cell ss:StyleID="Default"/>
<Cell><Data ss:Type="String">./part[partType = GIV]</Data></Cell>
<Cell><Data ss:Type="String">XPN.2 + XPN.3</Data></Cell>
<Cell><Data ss:Type="String">./GivenNames</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="46.5">
<Cell><Data ss:Type="String">HumanName.prefix</Data></Cell>
<Cell><Data ss:Type="String">0..*</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Parts that come before the name</Data></Cell>
<Cell><Data ss:Type="String">Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name</Data></Cell>
<Cell ss:Index="10" ss:StyleID="s69"/>
<Cell ss:Index="12" ss:StyleID="Default"/>
<Cell><Data ss:Type="String">./part[partType = PFX]</Data></Cell>
<Cell><Data ss:Type="String">XPN.5</Data></Cell>
<Cell><Data ss:Type="String">./TitleCode</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="46.5">
<Cell><Data ss:Type="String">HumanName.suffix</Data></Cell>
<Cell><Data ss:Type="String">0..*</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Parts that come after the name</Data></Cell>
<Cell><Data ss:Type="String">Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name</Data></Cell>
<Cell ss:Index="10" ss:StyleID="s69"/>
<Cell ss:Index="12" ss:StyleID="Default"/>
<Cell><Data ss:Type="String">./part[partType = SFX]</Data></Cell>
<Cell><Data ss:Type="String">XPN/4</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell><Data ss:Type="String">HumanName.period</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">Period</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Time period when name was/is in use</Data></Cell>
<Cell><Data ss:Type="String">Indicates the period of time when this name was valid for the named person.</Data></Cell>
<Cell ss:Index="10" ss:StyleID="s69"><Data ss:Type="String">Allows names to be placed in historical context</Data></Cell>
<Cell ss:Index="12" ss:StyleID="Default"/>
<Cell ss:StyleID="s69"><Data ss:Type="String">./usablePeriod[type=&quot;IVL&lt;TS&gt;&quot;]</Data></Cell>
<Cell><Data ss:Type="String">XPN.13 + XPN.14</Data></Cell>
<Cell><Data ss:Type="String">./StartDate and ./EndDate</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="12" ss:StyleID="Default"/>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="12" ss:StyleID="Default"/>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="12" ss:StyleID="Default"/>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>8</ActiveRow>
<ActiveCol>7</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s69" ss:DefaultRowHeight="15">
<Column ss:StyleID="s69" ss:AutoFitWidth="0" ss:Width="24.75"/>
<Column ss:StyleID="s69" ss:Width="96.75"/>
<Column ss:StyleID="s69" ss:Width="66"/>
<Column ss:StyleID="s69" ss:AutoFitWidth="0" ss:Width="405.75"/>
<Column ss:StyleID="s69" ss:Width="325.5"/>
<Column ss:StyleID="s69" ss:AutoFitWidth="0" ss:Width="233.25"/>
<Row ss:AutoFitHeight="0" ss:StyleID="s65">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Context</Data></Cell>
<Cell><Data ss:Type="String">English</Data></Cell>
<Cell><Data ss:Type="String">OCL</Data></Cell>
<Cell><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell ss:Index="4" ss:StyleID="s63"/>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>3</ActiveRow>
<ActiveCol>1</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Bindings">
<Table ss:ExpandedColumnCount="7" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:DefaultRowHeight="15">
<Column ss:AutoFitWidth="0" ss:Width="114"/>
<Column ss:AutoFitWidth="0" ss:Width="211.5"/>
<Column ss:AutoFitWidth="0" ss:Width="62.25"/>
<Column ss:AutoFitWidth="0" ss:Width="141.75"/>
<Column ss:AutoFitWidth="0" ss:Width="242.25"/>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s65"><Data ss:Type="String">Binding Name</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">Definition</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">Binding</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">Reference</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">Description</Data></Cell>
<Cell ss:StyleID="s70"><Data ss:Type="String">v2</Data></Cell>
<Cell ss:StyleID="s70"><Data ss:Type="String">v3</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s71"><Data ss:Type="String">NameUse</Data></Cell>
<Cell ss:StyleID="s71"><Data ss:Type="String">The use of a human name</Data></Cell>
<Cell ss:StyleID="s71"><Data ss:Type="String">code list</Data></Cell>
<Cell ss:StyleID="s71"><Data ss:Type="String">#name-use</Data></Cell>
<Cell ss:Index="6" ss:StyleID="s72"><Data ss:Type="String">http://hl7.org/fhir/v2/vs/0200</Data></Cell>
<Cell ss:StyleID="s72"><Data ss:Type="String">http://hl7.org/fhir/v3/vs/EntityNameUseR2</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>1</ActiveRow>
<ActiveCol>6</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="name-use">
<Table ss:ExpandedColumnCount="7" ss:ExpandedRowCount="8" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s71" ss:DefaultColumnWidth="72.75"
ss:DefaultRowHeight="15">
<Column ss:Index="2" ss:StyleID="s73" ss:AutoFitWidth="0"/>
<Column ss:StyleID="s71" ss:AutoFitWidth="0" ss:Width="804.75"/>
<Column ss:StyleID="s71" ss:AutoFitWidth="0" ss:Width="112.5"/>
<Column ss:StyleID="s71" ss:AutoFitWidth="0" ss:Width="177.75"/>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">Code</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">Definition</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">v2</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="String">v3</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s75"><Data ss:Type="String">usual</Data></Cell>
<Cell ss:StyleID="s76"><Data ss:Type="String">Known as/conventional/the one you normally use</Data></Cell>
<Cell><Data ss:Type="String">~0200.D</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">=EntityNameUseR2.C</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s75"><Data ss:Type="String">official</Data></Cell>
<Cell ss:StyleID="s76"><Data ss:Type="String">The formal name as registered in an official (government) registry, but which name might not be commonly used. May be called &quot;legal name&quot;.</Data></Cell>
<Cell><Data ss:Type="String">~0200.L</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">=EntityNameUseR2.OR</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">3</Data></Cell>
<Cell ss:StyleID="s75"><Data ss:Type="String">temp</Data></Cell>
<Cell ss:StyleID="s76"><Data ss:Type="String">A temporary name. Name.period can provide more detailed information. This may also be used for temporary names assigned at birth or in emergency situations.</Data></Cell>
<Cell><Data ss:Type="String">~0200.TEMP</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">=EntityNameUseR2.T</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">4</Data></Cell>
<Cell ss:StyleID="s75"><Data ss:Type="String">nickname</Data></Cell>
<Cell ss:StyleID="s75"><Data ss:Type="String">A name that is used to address the person in an informal manner, but is not part of their formal or usual name</Data></Cell>
<Cell><Data ss:Type="String">~0200.N</Data></Cell>
<Cell><Data ss:Type="String">~EntityNameUseR2.P</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">5</Data></Cell>
<Cell ss:StyleID="s75"><Data ss:Type="String">anonymous</Data></Cell>
<Cell ss:StyleID="s76"><Data ss:Type="String">Anonymous assigned name, alias, or pseudonym (used to protect a person's identity for privacy reasons)</Data></Cell>
<Cell><Data ss:Type="String">~0200.S</Data></Cell>
<Cell><Data ss:Type="String">~EntityNameUseR2.ANON</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">6</Data></Cell>
<Cell ss:StyleID="s75"><Data ss:Type="String">old</Data></Cell>
<Cell ss:StyleID="s76"><Data ss:Type="String">This name is no longer in use (or was never correct, but retained for records)</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">&gt;0200.NOUSE,&gt;0200.BAD</Data></Cell>
<Cell><Data ss:Type="String">~EntityNameUseR2.OLD</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell ss:StyleID="s78"><Data ss:Type="Number">7</Data></Cell>
<Cell ss:StyleID="s79"><Data ss:Type="String">maiden</Data></Cell>
<Cell ss:StyleID="s79"><Data ss:Type="String">A name used prior to marriage. Marriage naming customs vary greatly around the world. This name use is for use by applications that collect and store &quot;maiden&quot; names. Though the concept of maiden name is often gender specific, the use of this term is not gender specific. The use of this term does not imply any particular history for a person's name, nor should the maiden name be determined algorithmically.</Data></Cell>
<Cell><Data ss:Type="String">~0200.M</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">=EntityNameUseR2.M</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>1</ActiveRow>
<ActiveCol>1</ActiveCol>
<RangeSelection>R2C2:R8C2</RangeSelection>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,211 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:21:43Z</Created>
<LastSaved>2013-08-03T06:12:41Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>7080</WindowHeight>
<WindowWidth>23835</WindowWidth>
<WindowTopX>4140</WindowTopX>
<WindowTopY>5040</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#D9D9D9" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Vertical="Bottom" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
<Style ss:ID="s68">
<Alignment ss:Vertical="Bottom" ss:ShrinkToFit="1" ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="4" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="75.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="36.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="23.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="34.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="65.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="82.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="213.75" ss:Span="1"/>
<Column ss:Index="9" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="161.25"
ss:Span="1"/>
<Column ss:Index="11" ss:StyleID="s62" ss:Width="96.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Must Understand</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Concept Domain</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="210.75">
<Cell><Data ss:Type="String">Period</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Time range defined by start and end date/time</Data></Cell>
<Cell><Data ss:Type="String">A time period defined by a start and end date and optionally time.</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. &quot;the patient was an inpatient of the hospital for this time range&quot;) or one value from the range applies (e.g. &quot;give to the patient between these two times&quot;). If a duration might be required, specify the type as Interval|Duration</Data></Cell>
<Cell><Data ss:Type="String">IVL&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;] or URG&lt;TS&gt;[lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;]</Data></Cell>
<Cell><Data ss:Type="String">DR</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="75">
<Cell><Data ss:Type="String">Period.start</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">dateTime</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Starting time with inclusive boundary</Data></Cell>
<Cell><Data ss:Type="String">The start of the period. The boundary is inclusive.</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">If the low element is missing, the meaning is that the low boundary is not known.</Data></Cell>
<Cell><Data ss:Type="String">./low</Data></Cell>
<Cell><Data ss:Type="String">DR.1</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="195">
<Cell><Data ss:Type="String">Period.end</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">dateTime</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">End time with inclusive boundary, if not ongoing</Data></Cell>
<Cell><Data ss:Type="String">The end of the period. If the end of the period is missing, it means that the period is ongoing</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03</Data></Cell>
<Cell><Data ss:Type="String">./high</Data></Cell>
<Cell><Data ss:Type="String">DR.2</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>3</ActiveRow>
<ActiveCol>7</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="5" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s66" ss:DefaultRowHeight="15">
<Column ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="32.25"/>
<Column ss:StyleID="s66" ss:Width="126"/>
<Column ss:StyleID="s66" ss:Width="42"/>
<Column ss:StyleID="s66" ss:Width="384"/>
<Column ss:StyleID="s66" ss:Width="257.25"/>
<Column ss:StyleID="s66" ss:Width="218.25"/>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s64"><Data ss:Type="String">Id</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Name</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Context</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">English</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">OCL</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell><Data ss:Type="String">Start &lt;= End</Data></Cell>
<Cell><Data ss:Type="String">Period</Data></Cell>
<Cell><Data ss:Type="String">If present, start SHALL have a lower value than end</Data></Cell>
<Cell ss:Index="6"><Data ss:Type="String">not(exists(f:start)) or not(exists(f:end)) or (f:start/@value &lt;= f:end/@value)</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="4" ss:StyleID="Default"/>
<Cell ss:Index="6" ss:StyleID="s68"/>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="4" ss:StyleID="Default"/>
<Cell ss:Index="6" ss:StyleID="Default"/>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="4" ss:StyleID="Default"/>
<Cell ss:Index="6" ss:StyleID="Default"/>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>1</ActiveRow>
<ActiveCol>5</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,215 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:21:43Z</Created>
<LastSaved>2012-03-21T11:16:42Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>7080</WindowHeight>
<WindowWidth>23835</WindowWidth>
<WindowTopX>4470</WindowTopX>
<WindowTopY>3375</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#D9D9D9" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Vertical="Bottom" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
<Style ss:ID="s68">
<Alignment ss:Vertical="Bottom" ss:ShrinkToFit="1" ss:WrapText="1"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="4" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="75.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="36.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="23.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="34.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="65.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="82.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="213.75" ss:Span="1"/>
<Column ss:Index="9" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="161.25"
ss:Span="1"/>
<Column ss:Index="11" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135"
ss:Span="1"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Must Understand</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Concept Domain</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="210.75">
<Cell><Data ss:Type="String">Range</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Set of values bounded by low and high</Data></Cell>
<Cell><Data ss:Type="String">A set of ordered Quantities defined by a low and high limit. </Data></Cell>
<Cell><Data ss:Type="String">Need to be able to specify ranges of values</Data></Cell>
<Cell><Data ss:Type="String">The stated low and high value are assumed to have arbitrarily high precision when it comes to determining which values are in the range. I.e. 1.99 is not in the range 2 -&gt; 3</Data></Cell>
<Cell><Data ss:Type="String">IVL&lt;QTY[not(type=&quot;TS&quot;)]&gt; [lowClosed=&quot;true&quot; and highClosed=&quot;true&quot;]or URG&lt;QTY[not(type=&quot;TS&quot;)]&gt;</Data></Cell>
<Cell><Data ss:Type="String">NR and also possibly SN (but see also quantity)</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="75">
<Cell><Data ss:Type="String">Range.low</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell><Data ss:Type="String">2,3</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">Quantity</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Low limit </Data></Cell>
<Cell><Data ss:Type="String">The low limit. The boundary is inclusive.</Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">If the low element is missing, the low boundary is not known.</Data></Cell>
<Cell><Data ss:Type="String">./low</Data></Cell>
<Cell><Data ss:Type="String">NR.1</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="195">
<Cell><Data ss:Type="String">Range.high</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell><Data ss:Type="String">2,3</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">Quantity</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">High limit </Data></Cell>
<Cell><Data ss:Type="String">The high limit. The boundary is inclusive. </Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">If the high element is missing, the high boundary is not known. </Data></Cell>
<Cell><Data ss:Type="String">./high</Data></Cell>
<Cell><Data ss:Type="String">NR.2</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>4</ActiveRow>
<ActiveCol>9</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="5" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s66" ss:DefaultRowHeight="15">
<Column ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="26.25"/>
<Column ss:StyleID="s66" ss:Width="128.25"/>
<Column ss:StyleID="s66" ss:Width="42"/>
<Column ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="425.25"/>
<Column ss:StyleID="s66" ss:Width="284.25"/>
<Column ss:StyleID="s66" ss:Width="309"/>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s64"><Data ss:Type="String">Id</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Name</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">Context</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">English</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">OCL</Data></Cell>
<Cell ss:StyleID="s64"><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">2</Data></Cell>
<Cell><Data ss:Type="String">Low &lt; high</Data></Cell>
<Cell><Data ss:Type="String">Range</Data></Cell>
<Cell><Data ss:Type="String">If present, low SHALL have a lower value than high</Data></Cell>
<Cell ss:Index="6"><Data ss:Type="String">not(exists(f:low/f:value/@value)) or not(exists(f:high/f:value/@value)) or (number(f:low/f:value/@value) &lt;= number(f:high/f:value/@value))</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">3</Data></Cell>
<Cell><Data ss:Type="String">No Range flag on Quantity</Data></Cell>
<Cell><Data ss:Type="String">Range</Data></Cell>
<Cell ss:StyleID="Default"><Data ss:Type="String">Quantity values cannot have a comparator when used in a Range</Data></Cell>
<Cell><Data ss:Type="String">lowcomparator.oclIsUndefined and high.comparator.oclIsUndefined)</Data></Cell>
<Cell ss:StyleID="s68"><Data ss:Type="String">not(exists(f:low/f:comparator) or exists(f:high/f:comparator))</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="4" ss:StyleID="Default"/>
<Cell ss:Index="6" ss:StyleID="Default"/>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:Index="4" ss:StyleID="Default"/>
<Cell ss:Index="6" ss:StyleID="Default"/>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Print>
<ValidPrinterInfo/>
<PaperSizeIndex>9</PaperSizeIndex>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>600</VerticalResolution>
</Print>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,185 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:20:41Z</Created>
<LastSaved>2012-03-21T11:35:37Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>6225</WindowHeight>
<WindowWidth>27555</WindowWidth>
<WindowTopX>4860</WindowTopX>
<WindowTopY>5895</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#D9D9D9" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Vertical="Top" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="4" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="100.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="29.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="27.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="33.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="53.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="42"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="136.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="213.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="161.25" ss:Span="1"/>
<Column ss:Index="11" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135"
ss:Span="1"/>
<Row ss:AutoFitHeight="0" ss:Height="30" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Must Understand</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Concept Domain</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell><Data ss:Type="String">Ratio</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">A ratio of two Quantity values - a numerator and a denominator</Data></Cell>
<Cell><Data ss:Type="String">A relationship of two Quantity values - expressed as a numerator and a denominator. </Data></Cell>
<Cell><Data ss:Type="String">Need to able to capture ratios for some measurements (titers) and some rates (costs)</Data></Cell>
<Cell ss:Index="11"><Data ss:Type="String">RTO</Data></Cell>
<Cell><Data ss:Type="String">N/A</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="75">
<Cell><Data ss:Type="String">Ratio.numerator</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">Quantity</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Numerator value</Data></Cell>
<Cell><Data ss:Type="String">The value of the numerator</Data></Cell>
<Cell ss:Index="11"><Data ss:Type="String">.numerator</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="75">
<Cell><Data ss:Type="String">Ratio.denominator</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">Quantity</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Denominator value</Data></Cell>
<Cell><Data ss:Type="String">The value of the denominator</Data></Cell>
<Cell ss:Index="11"><Data ss:Type="String">.denominator</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>2</ActiveRow>
<ActiveCol>7</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s66" ss:DefaultRowHeight="15">
<Column ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="26.25"/>
<Column ss:StyleID="s66" ss:Width="166.5"/>
<Column ss:StyleID="s66" ss:Width="42"/>
<Column ss:StyleID="s66" ss:Width="417"/>
<Column ss:StyleID="s66" ss:Width="302.25"/>
<Column ss:StyleID="s66" ss:AutoFitWidth="0" ss:Width="243"/>
<Row ss:AutoFitHeight="0" ss:StyleID="s64">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Context</Data></Cell>
<Cell><Data ss:Type="String">English</Data></Cell>
<Cell><Data ss:Type="String">OCL</Data></Cell>
<Cell><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell><Data ss:Type="String">both numerator and denominator</Data></Cell>
<Cell><Data ss:Type="String">Ratio</Data></Cell>
<Cell><Data ss:Type="String">numerator and denominator SHALL both be present, or both be absent</Data></Cell>
<Cell ss:Index="6"><Data ss:Type="String">count(f:numerator) = count(f:denominator)</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>3</ActiveRow>
<ActiveCol>3</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

View File

@ -0,0 +1,206 @@
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Grahame</Author>
<LastAuthor>Grahame</LastAuthor>
<Created>2012-03-19T11:23:41Z</Created>
<LastSaved>2013-01-20T19:49:14Z</LastSaved>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>9165</WindowHeight>
<WindowWidth>15570</WindowWidth>
<WindowTopX>2880</WindowTopX>
<WindowTopY>3060</WindowTopY>
<ActiveSheet>1</ActiveSheet>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"
ss:Bold="1"/>
<Interior ss:Color="#EEECE1" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:ShrinkToFit="1"
ss:WrapText="1"/>
<Interior ss:Color="#D9D9D9" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Vertical="Top" ss:WrapText="1"/>
</Style>
<Style ss:ID="s67">
<Alignment ss:Vertical="Top" ss:ShrinkToFit="1" ss:WrapText="1"/>
</Style>
</Styles>
<Worksheet ss:Name="Data Elements">
<Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="5" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s62" ss:DefaultRowHeight="15">
<Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="130.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="39.75"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="28.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="33"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="56.25"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="82.5"/>
<Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="213.75" ss:Span="1"/>
<Column ss:Index="9" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="161.25"
ss:Span="1"/>
<Column ss:Index="11" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="135"
ss:Span="1"/>
<Row ss:AutoFitHeight="0" ss:Height="60" ss:StyleID="s64">
<Cell><Data ss:Type="String">Element</Data></Cell>
<Cell><Data ss:Type="String">Card.</Data></Cell>
<Cell><Data ss:Type="String">Inv.</Data></Cell>
<Cell><Data ss:Type="String">Must Understand</Data></Cell>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell><Data ss:Type="String">Binding</Data></Cell>
<Cell><Data ss:Type="String">Short Name</Data></Cell>
<Cell><Data ss:Type="String">Definition</Data></Cell>
<Cell><Data ss:Type="String">Requirements</Data></Cell>
<Cell><Data ss:Type="String">Comments</Data></Cell>
<Cell><Data ss:Type="String">RIM Mapping</Data></Cell>
<Cell><Data ss:Type="String">v2 Mapping</Data></Cell>
<Cell><Data ss:Type="String">To Do</Data></Cell>
<Cell><Data ss:Type="String">Committee Notes</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="45">
<Cell><Data ss:Type="String">ResourceReference</Data></Cell>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell ss:StyleID="s65"/>
<Cell><Data ss:Type="String">Type</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">A reference from one resource to another</Data></Cell>
<Cell><Data ss:Type="String">A reference from one resource to another</Data></Cell>
<Cell ss:Index="11"><Data ss:Type="String">The target of a resource reference is a RIM entry point (Act, Role, or Entity)</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="75">
<Cell><Data ss:Type="String">!ResourceReference.type</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">code</Data></Cell>
<Cell><Data ss:Type="String">ResourceType</Data></Cell>
<Cell><Data ss:Type="String">Resource Type</Data></Cell>
<Cell><Data ss:Type="String">The name of one of the resource types defined in this specification to identify the type of the resource being referenced</Data></Cell>
<Cell ss:Index="10" ss:StyleID="s66"><Data ss:Type="String">Whether or not the type of the resource reference is fixed for a particular element, the reference includes the resource type</Data></Cell>
<Cell><Data ss:Type="String">N/A</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="270">
<Cell><Data ss:Type="String">ResourceReference.reference</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Relative, internal or absolute URL reference</Data></Cell>
<Cell><Data ss:Type="String">A reference to a location at which the other resource is found. The reference may a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources</Data></Cell>
<Cell ss:Index="10" ss:StyleID="s66"><Data ss:Type="String">Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. &#10;&#10;Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the url conforms to the structure &quot;/[type]/@[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server</Data></Cell>
<Cell><Data ss:Type="String">N/A</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="90">
<Cell><Data ss:Type="String">ResourceReference.display</Data></Cell>
<Cell><Data ss:Type="String">0..1</Data></Cell>
<Cell ss:Index="5"><Data ss:Type="String">string</Data></Cell>
<Cell ss:Index="7"><Data ss:Type="String">Text alternative for the resource</Data></Cell>
<Cell ss:StyleID="s66"><Data ss:Type="String">Plain text narrative that identifies the resource in addition to the resource reference </Data></Cell>
<Cell ss:Index="10"><Data ss:Type="String">This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.</Data></Cell>
<Cell><Data ss:Type="String">N/A</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Print>
<ValidPrinterInfo/>
<PaperSizeIndex>9</PaperSizeIndex>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>0</VerticalResolution>
</Print>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>2</ActiveRow>
<ActiveCol>1</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Invariants">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s67" ss:DefaultRowHeight="15">
<Column ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="24.75"/>
<Column ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="52.5"/>
<Column ss:StyleID="s67" ss:Width="97.5"/>
<Column ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="249"/>
<Column ss:Index="6" ss:StyleID="s67" ss:AutoFitWidth="0" ss:Width="488.25"/>
<Row ss:AutoFitHeight="0" ss:StyleID="s64">
<Cell><Data ss:Type="String">Id</Data></Cell>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Context</Data></Cell>
<Cell><Data ss:Type="String">English</Data></Cell>
<Cell><Data ss:Type="String">OCL</Data></Cell>
<Cell><Data ss:Type="String">XPath</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="60">
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell><Data ss:Type="String">Inline</Data></Cell>
<Cell><Data ss:Type="String">ResourceReference</Data></Cell>
<Cell><Data ss:Type="String">SHALL have a local reference if the resource is provided inline</Data></Cell>
<Cell ss:Index="6"><Data ss:Type="String">not(starts-with(f:reference/@value, '#')) or exists(ancestor::a:content/f:*/f:contained/f:*[@id=substring-after(current()/f:reference/@value, '#')]|/f:*/f:contained/f:*[@id=substring-after(current()/f:reference/@value, '#')])</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>5</ActiveRow>
<ActiveCol>5</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

Some files were not shown because too many files have changed in this diff Show More