Merged with the latest master snapshot.

This commit is contained in:
mochaholic 2015-02-23 11:35:18 -07:00
parent 9cd005e9e3
commit 64715477bd
182 changed files with 4954 additions and 4872 deletions

View File

@ -37,7 +37,9 @@ public class PlainProvider {
//START SNIPPET: plainProviderServer
public class ExampleServlet extends RestfulServer {
/** Constructor */
/**
* Constructor
*/
public ExampleServlet() {
/*
* Plain providers are passed to the server in the same way
@ -59,7 +61,9 @@ public class ExampleServlet extends RestfulServer {
//START SNIPPET: addressStrategy
public class MyServlet extends RestfulServer {
/** Constructor */
/**
* Constructor
*/
public MyServlet() {
String serverBaseUrl = "http://foo.com/fhir";

View File

@ -34,5 +34,4 @@ public class RuntimeChildPrimitiveDatatypeDefinition extends BaseRuntimeChildDat
}
}

View File

@ -30,6 +30,7 @@ import ca.uhn.fhir.context.RuntimeResourceDefinition;
import ca.uhn.fhir.rest.server.IResourceProvider;
import ca.uhn.fhir.rest.server.IServerConformanceProvider;
import ca.uhn.fhir.rest.server.RestfulServer;
import org.hl7.fhir.instance.model.api.IBaseExtension;
public interface IFhirVersion {
@ -49,4 +50,5 @@ public interface IFhirVersion {
Class<?> getContainedType();
}

View File

@ -69,6 +69,13 @@ public abstract class BaseCodingDt extends BaseIdentifiableElement implements IC
public abstract BaseCodingDt setDisplay( String theString);
/*
todo: handle version
public abstract StringDt getVersion();
public abstract BaseCodingDt setVersion ( String theString);
*/
/**
* {@inheritDoc}
*/

View File

@ -734,6 +734,18 @@ public class XmlParser extends BaseParser implements IParser {
// HL7.org Structures
encodeCompositeElementToStreamWriter(theResource, theResource, theEventWriter, resDef, theContainedResource);
} else {
if (myContext.getVersion().getVersion().isNewerThan(FhirVersionEnum.DSTU1)) {
// DSTU2+
IResource resource = (IResource) theResource;
writeOptionalTagWithValue(theEventWriter, "id", theResourceId);
InstantDt updated = (InstantDt) resource.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED);
IdDt resourceId = resource.getId();
if (resourceId != null && isNotBlank(resourceId.getVersionIdPart()) || (updated != null && !updated.isEmpty())) {
@ -746,7 +758,6 @@ public class XmlParser extends BaseParser implements IParser {
if (updated != null) {
writeOptionalTagWithValue(theEventWriter, "lastUpdated", updated.getValueAsString());
}
Object securityLabelRawObj = resource.getResourceMetadata().get(ResourceMetadataKeyEnum.SECURITY_LABELS);
if (securityLabelRawObj != null) {
List<BaseCodingDt> securityLabels = (List<BaseCodingDt>) securityLabelRawObj;
@ -777,30 +788,6 @@ public class XmlParser extends BaseParser implements IParser {
}
}
theEventWriter.writeEndElement();
}
} else {
if (myContext.getVersion().getVersion().isNewerThan(FhirVersionEnum.DSTU1)) {
// DSTU2+
IResource resource = (IResource) theResource;
writeOptionalTagWithValue(theEventWriter, "id", theResourceId);
InstantDt updated = (InstantDt) resource.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED);
IdDt resourceId = resource.getId();
if (resourceId != null && isNotBlank(resourceId.getVersionIdPart()) || (updated != null && !updated.isEmpty())) {
theEventWriter.writeStartElement("meta");
String versionIdPart = resourceId.getVersionIdPart();
if (isBlank(versionIdPart)) {
versionIdPart = ResourceMetadataKeyEnum.VERSION.get(resource);
}
writeOptionalTagWithValue(theEventWriter, "versionId", versionIdPart);
if (updated != null) {
writeOptionalTagWithValue(theEventWriter, "lastUpdated", updated.getValueAsString());
}
theEventWriter.writeEndElement();
}

View File

@ -43,7 +43,6 @@ public interface ICreateTyped extends IClientExecutable<ICreateTyped, MethodOutc
*
* @param theSearchUrl The search URL to use. The format of this URL should be of the form <code>[ResourceType]?[Parameters]</code>,
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
*
* @since HAPI 0.9 / FHIR DSTU 2
*/
ICreateTyped conditionalByUrl(String theSearchUrl);

View File

@ -37,7 +37,6 @@ public interface IDelete {
*
* @param theSearchUrl The search URL to use. The format of this URL should be of the form <code>[ResourceType]?[Parameters]</code>,
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
*
* @since HAPI 0.9 / FHIR DSTU 2
*/
IDeleteTyped resourceConditionalByUrl(String theSearchUrl);

View File

@ -34,7 +34,6 @@ public interface IUpdateTyped extends IUpdateExecutable {
*
* @param theSearchUrl The search URL to use. The format of this URL should be of the form <code>[ResourceType]?[Parameters]</code>,
* for example: <code>Patient?name=Smith&amp;identifier=13.2.4.11.4%7C847366</code>
*
* @since HAPI 0.9 / FHIR DSTU 2
*/
IUpdateTyped conditionalByUrl(String theSearchUrl);

View File

@ -49,8 +49,7 @@ import ca.uhn.fhir.model.primitive.CodeDt;
import ca.uhn.fhir.model.primitive.StringDt;
import ca.uhn.fhir.model.primitive.UriDt;
public class InternalCodingDt
extends BaseCodingDt implements ICompositeDatatype
public class InternalCodingDt extends BaseCodingDt implements ICompositeDatatype
{
/**

View File

@ -5,19 +5,16 @@ public interface IBaseEnumFactory<T extends Enum<?>> {
/**
* Read an enumeration value from the string that represents it on the XML or JSON
*
* @param codeString
* the value found in the XML or JSON
* @param codeString the value found in the XML or JSON
* @return the enumeration value
* @throws IllegalArgumentException
* is the value is not known
* @throws IllegalArgumentException is the value is not known
*/
public T fromCode(String codeString) throws IllegalArgumentException;
/**
* Get the XML/JSON representation for an enumerated value
*
* @param code
* - the enumeration value
* @param code - the enumeration value
* @return the XML/JSON representation
*/
public String toCode(T code);

View File

@ -1331,7 +1331,8 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
}
retVal.addAll(resources);
}
} while (includePids.size() > 0 && previouslyLoadedPids.size() < getConfig().getIncludeLimit());
}
while (includePids.size() > 0 && previouslyLoadedPids.size() < getConfig().getIncludeLimit());
if (previouslyLoadedPids.size() >= getConfig().getIncludeLimit()) {
OperationOutcome oo = new OperationOutcome();

View File

@ -41,8 +41,7 @@ public interface IFhirResourceDao<T extends IResource> extends IDao {
DaoMethodOutcome create(T theResource, String theIfNoneExist);
/**
* @param thePerformIndexing
* Use with caution! If you set this to false, you need to manually perform indexing or your resources
* @param thePerformIndexing Use with caution! If you set this to false, you need to manually perform indexing or your resources
* won't be indexed and searches won't work.
*/
DaoMethodOutcome create(T theResource, String theIfNoneExist, boolean thePerformIndexing);
@ -75,8 +74,7 @@ public interface IFhirResourceDao<T extends IResource> extends IDao {
BaseHasResource readEntity(IdDt theId);
/**
* @param theCheckForForcedId
* If true, this method should fail if the requested ID contains a numeric PID which exists, but is
* @param theCheckForForcedId If true, this method should fail if the requested ID contains a numeric PID which exists, but is
* obscured by a "forced ID" so should not exist as far as the outside world is concerned.
*/
BaseHasResource readEntity(IdDt theId, boolean theCheckForForcedId);

View File

@ -138,7 +138,6 @@ public class FhirSystemDaoDstu2Test {
}
@Test
public void testTransactionCreateMatchUrlWithTwoMatch() {
String methodName = "testTransactionCreateMatchUrlWithTwoMatch";

View File

@ -3,10 +3,14 @@
<title>Search results for resource type Patient</title>
<id>urn:uuid:d05b8832-2ec2-4df1-9a8f-905ba57823</id>
<link href="http://fhir.healthintersections.com.au/open/" rel="fhir-base"/>
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id" rel="self" />
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id&amp;search-offset=0&amp;_count=50" rel="first" />
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id&amp;search-offset=50&amp;_count=50" rel="next" />
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id&amp;search-offset=300&amp;_count=50" rel="last" />
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id"
rel="self"/>
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id&amp;search-offset=0&amp;_count=50"
rel="first"/>
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id&amp;search-offset=50&amp;_count=50"
rel="next"/>
<link href="http://fhir.healthintersections.com.au/open/Patient/_search?_format=text/xml+fhir&amp;search-id=433c4ae6-9b99-4fee-ae1d-b8461a7d9c&amp;&amp;search-sort=_id&amp;search-offset=300&amp;_count=50"
rel="last"/>
<updated>2015-02-21T17:08:03Z</updated>
<totalResults xmlns="http://a9.com/-/spec/opensearch/1.1/">303</totalResults>
<entry>
@ -27,23 +31,32 @@
<b>Generated Narrative</b>
</p>
<p>
<b>identifier</b>: ??</p>
<p>
<b>name</b>: Eve Everywoman</p>
<p>
<b>telecom</b>: ph: 555-555-2003(work)</p>
<p>
<b>gender</b>: Female
<span style="background: LightGoldenRodYellow ">(Details : {http://hl7.org/fhir/v3/AdministrativeGender code "F" := "Female", given as "Female"})</span>
<b>identifier</b>: ??
</p>
<p>
<b>birthDate</b>: 1955-01-06</p>
<b>name</b>: Eve Everywoman
</p>
<p>
<b>address</b>: 2222 Home Street, (home)</p>
<b>telecom</b>: ph: 555-555-2003(work)
</p>
<p>
<b>photo</b>:</p>
<b>gender</b>: Female
<span style="background: LightGoldenRodYellow ">(Details :
{http://hl7.org/fhir/v3/AdministrativeGender code "F" := "Female", given as "Female"})
</span>
</p>
<p>
<b>active</b>: -1</p>
<b>birthDate</b>: 1955-01-06
</p>
<p>
<b>address</b>: 2222 Home Street, (home)
</p>
<p>
<b>photo</b>:
</p>
<p>
<b>active</b>: -1
</p>
</div>
</text>
<identifier>
@ -81,7 +94,10 @@
</Patient>
</content>
<summary type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">Generated Narrative&#xD;&#xA;identifier: ??&#xD;&#xA;name: Eve Everywoman&#xD;&#xA;telecom: ph: 555-555-2003(work)&#xD;&#xA;gender: Female (Details : {http://hl7.org/fhir/v3/AdministrativeGender code "F" := "Female", given as "Female"})&#xD;&#xA;birthDate: 1955-01-06&#xD;&#xA;address: 2222 Home Street&#x2026;</div>
<div xmlns="http://www.w3.org/1999/xhtml">Generated Narrative&#xD;&#xA;identifier: ??&#xD;&#xA;name: Eve
Everywoman&#xD;&#xA;telecom: ph: 555-555-2003(work)&#xD;&#xA;gender: Female (Details :
{http://hl7.org/fhir/v3/AdministrativeGender code "F" := "Female", given as "Female"})&#xD;&#xA;birthDate:
1955-01-06&#xD;&#xA;address: 2222 Home Street&#x2026;</div>
</summary>
</entry>
<entry>
@ -120,16 +136,24 @@
<tr>
<td>Name</td>
<td>Peter James
<b>Chalmers</b>("Jim")</td> </tr>
<b>Chalmers</b>("Jim")
</td>
</tr>
<tr>
<td>Address</td>
<td>534 Erewhon, Pleasantville, Orange County, 3999</td> </tr>
<td>534 Erewhon, Pleasantville, Orange County, 3999</td>
</tr>
<tr>
<td>Contacts</td>
<td>Home: unknown. Work: (03) 5555 6473</td> </tr>
<td>Home: unknown. Work: (03) 5555 6473</td>
</tr>
<tr>
<td>Id</td>
<td>MRN: 12345 (Acme Healthcare)</td> </tr> </tbody> </table> </div>
<td>MRN: 12345 (Acme Healthcare)</td>
</tr>
</tbody>
</table>
</div>
</text>
<!-- Peter James Chalmers, but called "Jim" -->
<name>
@ -152,7 +176,9 @@
</Patient>
</content>
<summary type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">Name&#xA; Peter James Chalmers ("Jim")&#xA; &#xA; &#xA; Address&#xA; 534 Erewhon, Pleasantville, Orange County, 3999&#xA; &#xA; &#xA; Contacts&#xA; Home: unknown. Work: (03) 5555 6473&#xA; &#xA; &#x2026;</div>
<div xmlns="http://www.w3.org/1999/xhtml">Name&#xA; Peter James Chalmers ("Jim")&#xA; &#xA; &#xA; Address&#xA;
534 Erewhon, Pleasantville, Orange County, 3999&#xA; &#xA; &#xA; Contacts&#xA; Home: unknown. Work: (03)
5555 6473&#xA; &#xA; &#x2026;</div>
</summary>
</entry>
</feed>

View File

@ -377,4 +377,5 @@ public class FhirDstu1 implements IFhirVersion {
return ContainedDt.class;
}
}

View File

@ -72,7 +72,6 @@ public class UpdateConditionalTest {
}
@AfterClass
public static void afterClass() throws Exception {
ourServer.stop();

View File

@ -169,15 +169,19 @@ public class Conformance extends DomainResource {
}
public String getDefinition() {
switch (this) {
case CLIENT: return "The application acts as a client for this resource.";
case SERVER: return "The application acts as a server for this resource.";
case CLIENT:
return "The application acts as a client for this resource.";
case SERVER:
return "The application acts as a server for this resource.";
default: return "?";
}
}
public String getDisplay() {
switch (this) {
case CLIENT: return "Client";
case SERVER: return "Server";
case CLIENT:
return "Client";
case SERVER:
return "Server";
default: return "?";
}
}

View File

@ -123,8 +123,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String toCode() {
switch (this) {
case PROPOSED: return "proposed";
case PLANNED: return "planned";
case PROPOSED:
return "proposed";
case PLANNED:
return "planned";
case REQUESTED: return "requested";
case RECEIVED: return "received";
case ACCEPTED: return "accepted";
@ -139,8 +141,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String getSystem() {
switch (this) {
case PROPOSED: return "";
case PLANNED: return "";
case PROPOSED:
return "";
case PLANNED:
return "";
case REQUESTED: return "";
case RECEIVED: return "";
case ACCEPTED: return "";
@ -155,8 +159,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String getDefinition() {
switch (this) {
case PROPOSED: return "The request has been proposed.";
case PLANNED: return "The request has been planned.";
case PROPOSED:
return "The request has been proposed.";
case PLANNED:
return "The request has been planned.";
case REQUESTED: return "The request has been placed.";
case RECEIVED: return "The receiving system has received the order, but not yet decided whether it will be performed.";
case ACCEPTED: return "The receiving system has accepted the order, but work has not yet commenced.";
@ -171,8 +177,10 @@ public class DiagnosticOrder extends DomainResource {
}
public String getDisplay() {
switch (this) {
case PROPOSED: return "proposed";
case PLANNED: return "planned";
case PROPOSED:
return "proposed";
case PLANNED:
return "planned";
case REQUESTED: return "requested";
case RECEIVED: return "received";
case ACCEPTED: return "accepted";

View File

@ -40,7 +40,9 @@ import org.hl7.fhir.instance.model.annotations.Block;
import org.hl7.fhir.instance.model.annotations.Child;
import org.hl7.fhir.instance.model.annotations.Description;
/**
* Describes the event of a patient consuming or otherwise being administered 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.
* Describes the event of a patient consuming or otherwise being administered 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.
*/
@ResourceDef(name="MedicationAdministration", profile="http://hl7.org/fhir/Profile/MedicationAdministration")
public class MedicationAdministration extends DomainResource {
@ -183,7 +185,9 @@ public class MedicationAdministration extends DomainResource {
protected CodeableConcept route;
/**
* A coded value indicating the method by which the medication was introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.
* A coded value indicating the method by which the medication was introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.
*/
@Child(name="method", type={CodeableConcept.class}, order=4, min=0, max=1)
@Description(shortDefinition="How drug was administered", formalDefinition="A coded value indicating the method by which the medication was introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.\r\rTerminologies used often pre-coordinate this term with the route and or form of administration." )
@ -307,7 +311,9 @@ public class MedicationAdministration extends DomainResource {
}
/**
* @return {@link #method} (A coded value indicating the method by which the medication was introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @return {@link #method} (A coded value indicating the method by which the medication was introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public CodeableConcept getMethod() {
if (this.method == null)
@ -323,7 +329,9 @@ public class MedicationAdministration extends DomainResource {
}
/**
* @param value {@link #method} (A coded value indicating the method by which the medication was introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @param value {@link #method} (A coded value indicating the method by which the medication was introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public MedicationAdministrationDosageComponent setMethod(CodeableConcept value) {
this.method = value;

View File

@ -197,7 +197,9 @@ public class MedicationDispense extends DomainResource {
protected CodeableConcept route;
/**
* A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.
* A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.
*/
@Child(name="method", type={CodeableConcept.class}, order=6, min=0, max=1)
@Description(shortDefinition="Technique for administering medication", formalDefinition="A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.\r\rTerminologies used often pre-coordinate this term with the route and or form of administration." )
@ -386,7 +388,9 @@ public class MedicationDispense extends DomainResource {
}
/**
* @return {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @return {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public CodeableConcept getMethod() {
if (this.method == null)
@ -402,7 +406,9 @@ public class MedicationDispense extends DomainResource {
}
/**
* @param value {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @param value {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public MedicationDispenseDosageInstructionComponent setMethod(CodeableConcept value) {
this.method = value;

View File

@ -232,7 +232,9 @@ public class MedicationPrescription extends DomainResource {
protected CodeableConcept route;
/**
* A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.
* A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.
*/
@Child(name="method", type={CodeableConcept.class}, order=7, min=0, max=1)
@Description(shortDefinition="Technique for administering medication", formalDefinition="A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.\r\rTerminologies used often pre-coordinate this term with the route and or form of administration." )
@ -470,7 +472,9 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @return {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @return {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public CodeableConcept getMethod() {
if (this.method == null)
@ -486,7 +490,9 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @param value {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @param value {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public MedicationPrescriptionDosageInstructionComponent setMethod(CodeableConcept value) {
this.method = value;
@ -656,14 +662,17 @@ public class MedicationPrescription extends DomainResource {
protected Medication medicationTarget;
/**
* Design Comments: This indicates the validity period of a prescription (stale dating the Prescription) It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. Rationale: Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription.
* Design Comments: This indicates the validity period of a prescription (stale dating the Prescription)
It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations.
Rationale: Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription.
*/
@Child(name="validityPeriod", type={Period.class}, order=2, min=0, max=1)
@Description(shortDefinition="Time period supply is authorized for", formalDefinition="Design Comments: This indicates the validity period of a prescription (stale dating the Prescription) \rIt reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. \rRationale: Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription." )
protected Period validityPeriod;
/**
* An integer indicating the number of repeats of the Dispense. UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.
* An integer indicating the number of repeats of the Dispense.
UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.
*/
@Child(name="numberOfRepeatsAllowed", type={IntegerType.class}, order=3, min=0, max=1)
@Description(shortDefinition="# of refills authorized", formalDefinition="An integer indicating the number of repeats of the Dispense. \rUsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill." )
@ -677,7 +686,8 @@ public class MedicationPrescription extends DomainResource {
protected Quantity quantity;
/**
* Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last. In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.
* Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last.
In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.
*/
@Child(name="expectedSupplyDuration", type={Duration.class}, order=5, min=0, max=1)
@Description(shortDefinition="Days supply per dispense", formalDefinition="Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last. \rIn some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors." )
@ -734,7 +744,9 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @return {@link #validityPeriod} (Design Comments: This indicates the validity period of a prescription (stale dating the Prescription) It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. Rationale: Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription.)
* @return {@link #validityPeriod} (Design Comments: This indicates the validity period of a prescription (stale dating the Prescription)
It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations.
Rationale: Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription.)
*/
public Period getValidityPeriod() {
if (this.validityPeriod == null)
@ -750,7 +762,9 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @param value {@link #validityPeriod} (Design Comments: This indicates the validity period of a prescription (stale dating the Prescription) It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. Rationale: Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription.)
* @param value {@link #validityPeriod} (Design Comments: This indicates the validity period of a prescription (stale dating the Prescription)
It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations.
Rationale: Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription.)
*/
public MedicationPrescriptionDispenseComponent setValidityPeriod(Period value) {
this.validityPeriod = value;
@ -758,7 +772,8 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @return {@link #numberOfRepeatsAllowed} (An integer indicating the number of repeats of the Dispense. UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.). This is the underlying object with id, value and extensions. The accessor "getNumberOfRepeatsAllowed" gives direct access to the value
* @return {@link #numberOfRepeatsAllowed} (An integer indicating the number of repeats of the Dispense.
UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.). This is the underlying object with id, value and extensions. The accessor "getNumberOfRepeatsAllowed" gives direct access to the value
*/
public IntegerType getNumberOfRepeatsAllowedElement() {
if (this.numberOfRepeatsAllowed == null)
@ -778,7 +793,8 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @param value {@link #numberOfRepeatsAllowed} (An integer indicating the number of repeats of the Dispense. UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.). This is the underlying object with id, value and extensions. The accessor "getNumberOfRepeatsAllowed" gives direct access to the value
* @param value {@link #numberOfRepeatsAllowed} (An integer indicating the number of repeats of the Dispense.
UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.). This is the underlying object with id, value and extensions. The accessor "getNumberOfRepeatsAllowed" gives direct access to the value
*/
public MedicationPrescriptionDispenseComponent setNumberOfRepeatsAllowedElement(IntegerType value) {
this.numberOfRepeatsAllowed = value;
@ -786,14 +802,16 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @return An integer indicating the number of repeats of the Dispense. UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.
* @return An integer indicating the number of repeats of the Dispense.
UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.
*/
public int getNumberOfRepeatsAllowed() {
return this.numberOfRepeatsAllowed == null ? 0 : this.numberOfRepeatsAllowed.getValue();
}
/**
* @param value An integer indicating the number of repeats of the Dispense. UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.
* @param value An integer indicating the number of repeats of the Dispense.
UsageNotes: For example, the number of times the prescribed quantity is to be supplied including the initial standard fill.
*/
public MedicationPrescriptionDispenseComponent setNumberOfRepeatsAllowed(int value) {
if (this.numberOfRepeatsAllowed == null)
@ -827,7 +845,8 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @return {@link #expectedSupplyDuration} (Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last. In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.)
* @return {@link #expectedSupplyDuration} (Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last.
In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.)
*/
public Duration getExpectedSupplyDuration() {
if (this.expectedSupplyDuration == null)
@ -843,7 +862,8 @@ public class MedicationPrescription extends DomainResource {
}
/**
* @param value {@link #expectedSupplyDuration} (Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last. In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.)
* @param value {@link #expectedSupplyDuration} (Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last.
In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.)
*/
public MedicationPrescriptionDispenseComponent setExpectedSupplyDuration(Duration value) {
this.expectedSupplyDuration = value;

View File

@ -169,7 +169,9 @@ public class MedicationStatement extends DomainResource {
protected CodeableConcept route;
/**
* A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.
* A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.
*/
@Child(name="method", type={CodeableConcept.class}, order=6, min=0, max=1)
@Description(shortDefinition="Technique used to administer medication", formalDefinition="A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.\r\rTerminologies used often pre-coordinate this term with the route and or form of administration." )
@ -361,7 +363,9 @@ public class MedicationStatement extends DomainResource {
}
/**
* @return {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @return {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public CodeableConcept getMethod() {
if (this.method == null)
@ -377,7 +381,9 @@ public class MedicationStatement extends DomainResource {
}
/**
* @param value {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.)
* @param value {@link #method} (A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV.
Terminologies used often pre-coordinate this term with the route and or form of administration.)
*/
public MedicationStatementDosageComponent setMethod(CodeableConcept value) {
this.method = value;

View File

@ -287,6 +287,7 @@ public class Narrative extends Element implements INarrative {
/**
* Sets the value of
*
* @param theString
* @throws Exception
*/

View File

@ -99,8 +99,10 @@ public class NutritionOrder extends DomainResource {
}
public String toCode() {
switch (this) {
case PROPOSED: return "proposed";
case PLANNED: return "planned";
case PROPOSED:
return "proposed";
case PLANNED:
return "planned";
case REQUESTED: return "requested";
case ACTIVE: return "active";
case INACTIVE: return "inactive";
@ -111,8 +113,10 @@ public class NutritionOrder extends DomainResource {
}
public String getSystem() {
switch (this) {
case PROPOSED: return "";
case PLANNED: return "";
case PROPOSED:
return "";
case PLANNED:
return "";
case REQUESTED: return "";
case ACTIVE: return "";
case INACTIVE: return "";
@ -123,25 +127,39 @@ public class NutritionOrder extends DomainResource {
}
public String getDefinition() {
switch (this) {
case PROPOSED: return "The request has been proposed.";
case PLANNED: return "The request has been planned.";
case REQUESTED: return "The request has been placed.";
case ACTIVE: return "The request is 'actionable', but not all actions that are implied by it have occurred yet.";
case INACTIVE: return "???.";
case HELD: return "Actions implied by the request have been temporarily halted, but are expected to continue later. May also be called 'suspended'.";
case CANCELLED: return "???.";
case PROPOSED:
return "The request has been proposed.";
case PLANNED:
return "The request has been planned.";
case REQUESTED:
return "The request has been placed.";
case ACTIVE:
return "The request is 'actionable', but not all actions that are implied by it have occurred yet.";
case INACTIVE:
return "???.";
case HELD:
return "Actions implied by the request have been temporarily halted, but are expected to continue later. May also be called 'suspended'.";
case CANCELLED:
return "???.";
default: return "?";
}
}
public String getDisplay() {
switch (this) {
case PROPOSED: return "proposed";
case PLANNED: return "planned";
case REQUESTED: return "requested";
case ACTIVE: return "active";
case INACTIVE: return "inactive";
case HELD: return "held";
case CANCELLED: return "cancelled";
case PROPOSED:
return "proposed";
case PLANNED:
return "planned";
case REQUESTED:
return "requested";
case ACTIVE:
return "active";
case INACTIVE:
return "inactive";
case HELD:
return "held";
case CANCELLED:
return "cancelled";
default: return "?";
}
}

View File

@ -372,6 +372,7 @@ public class Practitioner extends DomainResource {
}
// syntactic sugar
/**
* @return {@link #location} (Add an actual object that is the target of the reference. The reference library doesn't use these, but you can use this to hold the resources if you resolvethemt. The location(s) at which this practitioner provides care.)
*/
@ -423,6 +424,7 @@ public class Practitioner extends DomainResource {
}
// syntactic sugar
/**
* @return {@link #healthcareService} (Add an actual object that is the target of the reference. The reference library doesn't use these, but you can use this to hold the resources if you resolvethemt. The list of healthcare services that this worker offers at this location of this organization.)
*/
@ -453,18 +455,21 @@ public class Practitioner extends DomainResource {
dst.specialty = new ArrayList<CodeableConcept>();
for (CodeableConcept i : specialty)
dst.specialty.add(i.copy());
};
}
;
dst.period = period == null ? null : period.copy();
if (location != null) {
dst.location = new ArrayList<Reference>();
for (Reference i : location)
dst.location.add(i.copy());
};
}
;
if (healthcareService != null) {
dst.healthcareService = new ArrayList<Reference>();
for (Reference i : healthcareService)
dst.healthcareService.add(i.copy());
};
}
;
return dst;
}
@ -1163,7 +1168,8 @@ public class Practitioner extends DomainResource {
dst.photo = new ArrayList<Attachment>();
for (Attachment i : photo)
dst.photo.add(i.copy());
};
}
;
if (practitionerRole != null) {
dst.practitionerRole = new ArrayList<PractitionerPractitionerRoleComponent>();
for (PractitionerPractitionerRoleComponent i : practitionerRole)

View File

@ -242,7 +242,8 @@ public class Questionnaire extends DomainResource {
case TIME: return "time";
case STRING: return "string";
case TEXT: return "text";
case URL: return "url";
case URL:
return "url";
case CHOICE: return "choice";
case OPENCHOICE: return "open-choice";
case ATTACHMENT: return "attachment";
@ -262,7 +263,8 @@ public class Questionnaire extends DomainResource {
case TIME: return "";
case STRING: return "";
case TEXT: return "";
case URL: return "";
case URL:
return "";
case CHOICE: return "";
case OPENCHOICE: return "";
case ATTACHMENT: return "";
@ -282,7 +284,8 @@ public class Questionnaire extends DomainResource {
case TIME: return "Answer is a time independent of date.";
case STRING: return "Answer is a short (few words to short sentence) free-text entry.";
case TEXT: return "Answer is a long (potentially multi-paragram) free-text entry.";
case URL: return "Answer is a url (website, FTP site, etc.).";
case URL:
return "Answer is a url (website, FTP site, etc.).";
case CHOICE: return "Answer is a choice from a list of options.";
case OPENCHOICE: return "Answer is a choice from a list of options or a free-text entry.";
case ATTACHMENT: return "Answer is binary content such as a image, PDF, etc.";
@ -302,7 +305,8 @@ public class Questionnaire extends DomainResource {
case TIME: return "time";
case STRING: return "string";
case TEXT: return "text";
case URL: return "url";
case URL:
return "url";
case CHOICE: return "choice";
case OPENCHOICE: return "open-choice";
case ATTACHMENT: return "attachment";
@ -1686,7 +1690,8 @@ public class Questionnaire extends DomainResource {
dst.telecom = new ArrayList<ContactPoint>();
for (ContactPoint i : telecom)
dst.telecom.add(i.copy());
};
}
;
dst.group = group == null ? null : group.copy();
return dst;
}

View File

@ -108,11 +108,4 @@ public class FhirDev implements IFhirVersion {
}
//@Override
public IBaseExtension<?> newExtension() {
return null;
}
}

View File

@ -380,11 +380,5 @@ public class FhirDstu1 implements IFhirVersion {
return ContainedDt.class;
}
//@Override
public IBaseExtension<?> newExtension() {
return null;
}
}

View File

@ -93,9 +93,5 @@ public class FhirDstu2 implements IFhirVersion {
throw new UnsupportedOperationException();
}
//@Override
public IBaseExtension<?> newExtension() {
return null;
}
}

View File

@ -148,7 +148,8 @@
web address that a user can use to access the resource.
</p>
<p>
For instance, if your server is hosted at <code>http://foo.com/fhir</code>
For instance, if your server is hosted at
<code>http://foo.com/fhir</code>
and your resource provider returns a Patient resource with the ID "123",
the server should translate that ID to "http://foo.com/fhir/Patient/123".
</p>