Merge branch 'master' of github.com:jamesagnew/hapi-fhir

This commit is contained in:
jamesagnew 2020-05-10 12:10:03 -04:00
commit 5ea94abde5
17 changed files with 101159 additions and 663829 deletions

View File

@ -0,0 +1,5 @@
---
type: fix
issue: 1837
title: "The FHIR R4 validation resources (StructureDefintion, ValueSet, etc) were not updated to the R4 4.0.1
technical correction versions in HAPI FHIR 4.2.0. This has been corrected."

View File

@ -17,12 +17,24 @@ import ca.uhn.fhir.rest.client.api.IClientInterceptor;
import ca.uhn.fhir.rest.client.api.IGenericClient;
import ca.uhn.fhir.rest.client.api.IHttpRequest;
import ca.uhn.fhir.rest.client.api.IHttpResponse;
import ca.uhn.fhir.rest.client.interceptor.LoggingInterceptor;
import ca.uhn.fhir.rest.gclient.StringClientParam;
import ca.uhn.fhir.rest.param.*;
import ca.uhn.fhir.rest.server.exceptions.*;
import ca.uhn.fhir.rest.param.DateRangeParam;
import ca.uhn.fhir.rest.param.NumberParam;
import ca.uhn.fhir.rest.param.ParamPrefixEnum;
import ca.uhn.fhir.rest.param.StringAndListParam;
import ca.uhn.fhir.rest.param.StringOrListParam;
import ca.uhn.fhir.rest.param.StringParam;
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
import ca.uhn.fhir.rest.server.exceptions.PreconditionFailedException;
import ca.uhn.fhir.rest.server.exceptions.ResourceGoneException;
import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException;
import ca.uhn.fhir.rest.server.interceptor.BaseValidatingInterceptor;
import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor;
import ca.uhn.fhir.util.TestUtil;
import ca.uhn.fhir.util.UrlUtil;
import ca.uhn.fhir.validation.IValidatorModule;
import com.google.common.base.Charsets;
import com.google.common.collect.Lists;
import org.apache.commons.io.IOUtils;
@ -30,23 +42,73 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.*;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicNameValuePair;
import org.hl7.fhir.common.hapi.validation.validator.FhirInstanceValidator;
import org.hl7.fhir.dstu3.model.*;
import org.hl7.fhir.dstu3.model.Bundle.*;
import org.hl7.fhir.dstu3.model.Attachment;
import org.hl7.fhir.dstu3.model.AuditEvent;
import org.hl7.fhir.dstu3.model.BaseResource;
import org.hl7.fhir.dstu3.model.Basic;
import org.hl7.fhir.dstu3.model.Binary;
import org.hl7.fhir.dstu3.model.Bundle;
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
import org.hl7.fhir.dstu3.model.Bundle.BundleLinkComponent;
import org.hl7.fhir.dstu3.model.Bundle.BundleType;
import org.hl7.fhir.dstu3.model.Bundle.HTTPVerb;
import org.hl7.fhir.dstu3.model.Bundle.SearchEntryMode;
import org.hl7.fhir.dstu3.model.CodeSystem;
import org.hl7.fhir.dstu3.model.CodeType;
import org.hl7.fhir.dstu3.model.Coding;
import org.hl7.fhir.dstu3.model.Condition;
import org.hl7.fhir.dstu3.model.DateTimeType;
import org.hl7.fhir.dstu3.model.DateType;
import org.hl7.fhir.dstu3.model.Device;
import org.hl7.fhir.dstu3.model.DocumentManifest;
import org.hl7.fhir.dstu3.model.DocumentReference;
import org.hl7.fhir.dstu3.model.Encounter;
import org.hl7.fhir.dstu3.model.Encounter.EncounterLocationComponent;
import org.hl7.fhir.dstu3.model.Encounter.EncounterStatus;
import org.hl7.fhir.dstu3.model.Enumerations.AdministrativeGender;
import org.hl7.fhir.dstu3.model.Extension;
import org.hl7.fhir.dstu3.model.IdType;
import org.hl7.fhir.dstu3.model.ImagingStudy;
import org.hl7.fhir.dstu3.model.InstantType;
import org.hl7.fhir.dstu3.model.IntegerType;
import org.hl7.fhir.dstu3.model.Location;
import org.hl7.fhir.dstu3.model.Media;
import org.hl7.fhir.dstu3.model.Medication;
import org.hl7.fhir.dstu3.model.MedicationAdministration;
import org.hl7.fhir.dstu3.model.MedicationRequest;
import org.hl7.fhir.dstu3.model.Meta;
import org.hl7.fhir.dstu3.model.Narrative.NarrativeStatus;
import org.hl7.fhir.dstu3.model.Observation;
import org.hl7.fhir.dstu3.model.Observation.ObservationStatus;
import org.hl7.fhir.dstu3.model.OperationOutcome;
import org.hl7.fhir.dstu3.model.Organization;
import org.hl7.fhir.dstu3.model.Parameters;
import org.hl7.fhir.dstu3.model.Patient;
import org.hl7.fhir.dstu3.model.Period;
import org.hl7.fhir.dstu3.model.Practitioner;
import org.hl7.fhir.dstu3.model.ProcedureRequest;
import org.hl7.fhir.dstu3.model.Quantity;
import org.hl7.fhir.dstu3.model.Questionnaire;
import org.hl7.fhir.dstu3.model.Questionnaire.QuestionnaireItemType;
import org.hl7.fhir.dstu3.model.QuestionnaireResponse;
import org.hl7.fhir.dstu3.model.Reference;
import org.hl7.fhir.dstu3.model.StringType;
import org.hl7.fhir.dstu3.model.StructureDefinition;
import org.hl7.fhir.dstu3.model.Subscription;
import org.hl7.fhir.dstu3.model.Subscription.SubscriptionChannelType;
import org.hl7.fhir.dstu3.model.Subscription.SubscriptionStatus;
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
import org.hl7.fhir.dstu3.model.UnsignedIntType;
import org.hl7.fhir.dstu3.model.ValueSet;
import org.hl7.fhir.instance.model.api.IBaseResource;
import org.hl7.fhir.instance.model.api.IIdType;
import org.junit.After;
@ -66,11 +128,39 @@ import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketTimeoutException;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import static org.apache.commons.lang3.StringUtils.isNotBlank;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.containsInRelativeOrder;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.empty;
import static org.hamcrest.Matchers.emptyString;
import static org.hamcrest.Matchers.endsWith;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.hasItems;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.lessThanOrEqualTo;
import static org.hamcrest.Matchers.matchesPattern;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.startsWith;
import static org.hamcrest.Matchers.stringContainsInOrder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class ResourceProviderDstu3Test extends BaseResourceProviderDstu3Test {
@ -2074,24 +2164,31 @@ public class ResourceProviderDstu3Test extends BaseResourceProviderDstu3Test {
@Test
public void testMetaOperations() {
String methodName = "testMetaOperations";
ourClient.registerInterceptor(new LoggingInterceptor(true));
ourClient.setPrettyPrint(true);
IValidatorModule module = new FhirInstanceValidator(myFhirCtx);
BaseValidatingInterceptor<String> validatingInterceptor = new RequestValidatingInterceptor().addValidatorModule(module);
ourRestServer.registerInterceptor(validatingInterceptor);
try {
Patient pt = new Patient();
pt.addName().setFamily(methodName);
IIdType id = ourClient.create().resource(pt).execute().getId().toUnqualifiedVersionless();
Patient pt = new Patient();
pt.addName().setFamily(methodName);
IIdType id = ourClient.create().resource(pt).execute().getId().toUnqualifiedVersionless();
Meta meta = ourClient.meta().get(Meta.class).fromResource(id).execute();
assertEquals(0, meta.getTag().size());
Meta meta = ourClient.meta().get(Meta.class).fromResource(id).execute();
assertEquals(0, meta.getTag().size());
Meta inMeta = new Meta();
inMeta.addTag().setSystem("urn:system1").setCode("urn:code1");
meta = ourClient.meta().add().onResource(id).meta(inMeta).execute();
assertEquals(1, meta.getTag().size());
inMeta = new Meta();
inMeta.addTag().setSystem("urn:system1").setCode("urn:code1");
meta = ourClient.meta().delete().onResource(id).meta(inMeta).execute();
assertEquals(0, meta.getTag().size());
Meta inMeta = new Meta();
inMeta.addTag().setSystem("urn:system1").setCode("urn:code1");
meta = ourClient.meta().add().onResource(id).meta(inMeta).execute();
assertEquals(1, meta.getTag().size());
inMeta = new Meta();
inMeta.addTag().setSystem("urn:system1").setCode("urn:code1");
meta = ourClient.meta().delete().onResource(id).meta(inMeta).execute();
assertEquals(0, meta.getTag().size());
} finally {
ourRestServer.unregisterInterceptor(validatingInterceptor);
}
}
@Test

View File

@ -3978,9 +3978,7 @@
<path value="Extension"></path>
<short value="Original Text that represents the data as seen/selected/uttered originally"></short>
<definition value="A human language representation of the concept (resource/element) as seen/selected/uttered by the user who entered the data and/or which represents the full intended meaning of the user. This can be provided either directly as text, or as a url that is a reference to a portion of the narrative of a resource ([DomainResource.text](narrative.html))."></definition>
<comment value="The data in the element does not always capture the correct meaning with all the nuances of the original text. In these cases, the text is used to capture the full meaning of the source. This is commonly used to provide &quot;what did the user actually see/type&quot;. Note that this extension has the same definition as CodeableConcept.text and SHALL NOT be used on CodeableConcept with type = string in place of CodeableConcept.text but MAY be used with type url. If present on a CodeableConcept with type url as well as CodeableConcept.text, then the CodeableConcept.text SHALL match the referenced narrative.
It's also possible to link to the resource narrative using the [narrativeLink extension](extension-narrativelink.html) which does not claim that the data is derived from the text."></comment>
<comment value="The data in the element does not always capture the correct meaning with all the nuances of the original text. In these cases, the text is used to capture the full meaning of the source. This is commonly used to provide &quot;what did the user actually see/type&quot;. Note that this extension has the same definition as CodeableConcept.text and SHALL NOT be used on CodeableConcept with type = string in place of CodeableConcept.text but MAY be used with type url. If present on a CodeableConcept with type url as well as CodeableConcept.text, then the CodeableConcept.text SHALL match the referenced narrative. It's also possible to link to the resource narrative using the [narrativeLink extension](extension-narrativelink.html) which does not claim that the data is derived from the text."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -4134,9 +4132,7 @@ It's also possible to link to the resource narrative using the [narrativeLink ex
<path value="Extension"></path>
<short value="Original Text that represents the data as seen/selected/uttered originally"></short>
<definition value="A human language representation of the concept (resource/element) as seen/selected/uttered by the user who entered the data and/or which represents the full intended meaning of the user. This can be provided either directly as text, or as a url that is a reference to a portion of the narrative of a resource ([DomainResource.text](narrative.html))."></definition>
<comment value="The data in the element does not always capture the correct meaning with all the nuances of the original text. In these cases, the text is used to capture the full meaning of the source. This is commonly used to provide &quot;what did the user actually see/type&quot;. Note that this extension has the same definition as CodeableConcept.text and SHALL NOT be used on CodeableConcept with type = string in place of CodeableConcept.text but MAY be used with type url. If present on a CodeableConcept with type url as well as CodeableConcept.text, then the CodeableConcept.text SHALL match the referenced narrative.
It's also possible to link to the resource narrative using the [narrativeLink extension](extension-narrativelink.html) which does not claim that the data is derived from the text."></comment>
<comment value="The data in the element does not always capture the correct meaning with all the nuances of the original text. In these cases, the text is used to capture the full meaning of the source. This is commonly used to provide &quot;what did the user actually see/type&quot;. Note that this extension has the same definition as CodeableConcept.text and SHALL NOT be used on CodeableConcept with type = string in place of CodeableConcept.text but MAY be used with type url. If present on a CodeableConcept with type url as well as CodeableConcept.text, then the CodeableConcept.text SHALL match the referenced narrative. It's also possible to link to the resource narrative using the [narrativeLink extension](extension-narrativelink.html) which does not claim that the data is derived from the text."></comment>
<min value="0"></min>
<max value="1"></max>
</element>
@ -5178,8 +5174,7 @@ It's also possible to link to the resource narrative using the [narrativeLink ex
<value value="http://www.hl7.org/Special/committees/fiwg"></value>
</telecom>
</contact>
<description value="A numeric value that allows the comparison (less than, greater than) or other numerical
manipulation of a concept (e.g. Adding up components of a score). Scores are usually a whole number, but occasionally decimals are encountered in scores."></description>
<description value="A numeric value that allows the comparison (less than, greater than) or other numerical manipulation of a concept (e.g. Adding up components of a score). Scores are usually a whole number, but occasionally decimals are encountered in scores."></description>
<fhirVersion value="4.2.0"></fhirVersion>
<mapping>
<identity value="rim"></identity>
@ -5211,10 +5206,8 @@ manipulation of a concept (e.g. Adding up components of a score). Scores are usu
<element id="Extension">
<path value="Extension"></path>
<short value="Assigned Ordinal Value"></short>
<definition value="A numeric value that allows the comparison (less than, greater than) or other numerical
manipulation of a concept (e.g. Adding up components of a score). Scores are usually a whole number, but occasionally decimals are encountered in scores."></definition>
<comment value="Scores are commonly encountered in various clinical assessment scales. Assigning a value to a concept should generally be done in a formal code system that defines the value, or in an applicable value set for the concept, but some concepts do not have a formal definition (or are not even represented as a concept formally, especially in [Questionnaires](questionnaire.html),
so this extension is allowed to appear ouside those preferred contexts. Scores may even be assigned arbitrarily during use (hence, on Coding). The value may be constrained to an integer in some contexts of use. Todo: Scoring algorithms may also be defined directly, but how this is done is not yet defined."></comment>
<definition value="A numeric value that allows the comparison (less than, greater than) or other numerical manipulation of a concept (e.g. Adding up components of a score). Scores are usually a whole number, but occasionally decimals are encountered in scores."></definition>
<comment value="Scores are commonly encountered in various clinical assessment scales. Assigning a value to a concept should generally be done in a formal code system that defines the value, or in an applicable value set for the concept, but some concepts do not have a formal definition (or are not even represented as a concept formally, especially in [Questionnaires](questionnaire.html), so this extension is allowed to appear ouside those preferred contexts. Scores may even be assigned arbitrarily during use (hence, on Coding). The value may be constrained to an integer in some contexts of use. Todo: Scoring algorithms may also be defined directly, but how this is done is not yet defined."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -5367,10 +5360,8 @@ so this extension is allowed to appear ouside those preferred contexts. Scores
<element id="Extension">
<path value="Extension"></path>
<short value="Assigned Ordinal Value"></short>
<definition value="A numeric value that allows the comparison (less than, greater than) or other numerical
manipulation of a concept (e.g. Adding up components of a score). Scores are usually a whole number, but occasionally decimals are encountered in scores."></definition>
<comment value="Scores are commonly encountered in various clinical assessment scales. Assigning a value to a concept should generally be done in a formal code system that defines the value, or in an applicable value set for the concept, but some concepts do not have a formal definition (or are not even represented as a concept formally, especially in [Questionnaires](questionnaire.html),
so this extension is allowed to appear ouside those preferred contexts. Scores may even be assigned arbitrarily during use (hence, on Coding). The value may be constrained to an integer in some contexts of use. Todo: Scoring algorithms may also be defined directly, but how this is done is not yet defined."></comment>
<definition value="A numeric value that allows the comparison (less than, greater than) or other numerical manipulation of a concept (e.g. Adding up components of a score). Scores are usually a whole number, but occasionally decimals are encountered in scores."></definition>
<comment value="Scores are commonly encountered in various clinical assessment scales. Assigning a value to a concept should generally be done in a formal code system that defines the value, or in an applicable value set for the concept, but some concepts do not have a formal definition (or are not even represented as a concept formally, especially in [Questionnaires](questionnaire.html), so this extension is allowed to appear ouside those preferred contexts. Scores may even be assigned arbitrarily during use (hence, on Coding). The value may be constrained to an integer in some contexts of use. Todo: Scoring algorithms may also be defined directly, but how this is done is not yet defined."></comment>
<min value="0"></min>
<max value="1"></max>
</element>
@ -13078,8 +13069,7 @@ so this extension is allowed to appear ouside those preferred contexts. Scores
<path value="Extension"></path>
<short value="Same quantity with different units"></short>
<definition value="An alternative representation of the same physical quantity expressed in a different unit from a different unit code system and possibly with a different value."></definition>
<comment value="It is not necessary for information processing entities to check and enforce that the translations are valid translations of the base unit, but they are allowed to do so, and to reject instances where the translations are not valid.
NOTE Translations are allowed to contain other representations in UCUM units, but there is generally no point to this as it is possible to convert from one UCUM form to another."></comment>
<comment value="It is not necessary for information processing entities to check and enforce that the translations are valid translations of the base unit, but they are allowed to do so, and to reject instances where the translations are not valid. NOTE Translations are allowed to contain other representations in UCUM units, but there is generally no point to this as it is possible to convert from one UCUM form to another."></comment>
<min value="0"></min>
<max value="*"></max>
<base>
@ -13237,8 +13227,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<path value="Extension"></path>
<short value="Same quantity with different units"></short>
<definition value="An alternative representation of the same physical quantity expressed in a different unit from a different unit code system and possibly with a different value."></definition>
<comment value="It is not necessary for information processing entities to check and enforce that the translations are valid translations of the base unit, but they are allowed to do so, and to reject instances where the translations are not valid.
NOTE Translations are allowed to contain other representations in UCUM units, but there is generally no point to this as it is possible to convert from one UCUM form to another."></comment>
<comment value="It is not necessary for information processing entities to check and enforce that the translations are valid translations of the base unit, but they are allowed to do so, and to reject instances where the translations are not valid. NOTE Translations are allowed to contain other representations in UCUM units, but there is generally no point to this as it is possible to convert from one UCUM form to another."></comment>
<min value="0"></min>
<max value="*"></max>
<mapping>
@ -29413,7 +29402,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<path value="Extension"></path>
<short value="Part of referenced event"></short>
<definition value="A larger event of which this particular event is a component or step."></definition>
<comment value="Not to be used to link an event to an Encounter - use Event.context for that. [The allowed reference resources may be adjusted as appropriate for the event resource]."></comment>
<comment value="Not to be used to link an event to an Encounter - use Event.context for that. [The allowed reference resources may be adjusted as appropriate for the event resource]."></comment>
<min value="0"></min>
<max value="*"></max>
<base>
@ -29580,7 +29569,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<path value="Extension"></path>
<short value="Part of referenced event"></short>
<definition value="A larger event of which this particular event is a component or step."></definition>
<comment value="Not to be used to link an event to an Encounter - use Event.context for that. [The allowed reference resources may be adjusted as appropriate for the event resource]."></comment>
<comment value="Not to be used to link an event to an Encounter - use Event.context for that. [The allowed reference resources may be adjusted as appropriate for the event resource]."></comment>
<min value="0"></min>
<max value="*"></max>
<mapping>
@ -29687,7 +29676,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<path value="Extension"></path>
<short value="Reason for current status"></short>
<definition value="Captures the reason for the current state of the resource."></definition>
<comment value="This is generally only used for &quot;exception&quot; statuses such as &quot;not-done&quot;, &quot;suspended&quot; or &quot;cancelled&quot;. The reason for performing the event at all is captured in reasonCode, not here. (distinct reason codes for different statuses can be enforced using invariants if they are universal bindings)."></comment>
<comment value="This is generally only used for &quot;exception&quot; statuses such as &quot;not-done&quot;, &quot;suspended&quot; or &quot;cancelled&quot;. The reason for performing the event at all is captured in reasonCode, not here. (distinct reason codes for different statuses can be enforced using invariants if they are universal bindings)."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -29860,7 +29849,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<path value="Extension"></path>
<short value="Reason for current status"></short>
<definition value="Captures the reason for the current state of the resource."></definition>
<comment value="This is generally only used for &quot;exception&quot; statuses such as &quot;not-done&quot;, &quot;suspended&quot; or &quot;cancelled&quot;. The reason for performing the event at all is captured in reasonCode, not here. (distinct reason codes for different statuses can be enforced using invariants if they are universal bindings)."></comment>
<comment value="This is generally only used for &quot;exception&quot; statuses such as &quot;not-done&quot;, &quot;suspended&quot; or &quot;cancelled&quot;. The reason for performing the event at all is captured in reasonCode, not here. (distinct reason codes for different statuses can be enforced using invariants if they are universal bindings)."></comment>
<min value="0"></min>
<max value="1"></max>
<mapping>
@ -31241,7 +31230,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<path value="Extension"></path>
<short value="true if request is prohibiting action"></short>
<definition value="If true indicates that the request is asking for the specified action to not occur."></definition>
<comment value="The attributes provided with the request qualify what is not to be done. For example, if an effectiveTime is provided, the &quot;do not&quot; request only applies within the specified time. If a performerType is specified then the &quot;do not&quot; request only applies to performers of that type. Qualifiers include: code, subject, occurrence, perormerType and performer. In some cases, the Request.code may pre-coordinate prohibition into the requested action. E.g. &quot;NPO&quot; (nothing by mouth), &quot;DNR&quot; (do not recussitate). If this happens, doNotPerform SHALL NOT be set to true. I.e. The resource shall not have double negation. (E.g. &quot;Do not DNR&quot;)."></comment>
<comment value="The attributes provided with the request qualify what is not to be done. For example, if an effectiveTime is provided, the &quot;do not&quot; request only applies within the specified time. If a performerType is specified then the &quot;do not&quot; request only applies to performers of that type. Qualifiers include: code, subject, occurrence, perormerType and performer. In some cases, the Request.code may pre-coordinate prohibition into the requested action. E.g. &quot;NPO&quot; (nothing by mouth), &quot;DNR&quot; (do not recussitate). If this happens, doNotPerform SHALL NOT be set to true. I.e. The resource shall not have double negation. (E.g. &quot;Do not DNR&quot;)."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -31396,7 +31385,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<path value="Extension"></path>
<short value="true if request is prohibiting action"></short>
<definition value="If true indicates that the request is asking for the specified action to not occur."></definition>
<comment value="The attributes provided with the request qualify what is not to be done. For example, if an effectiveTime is provided, the &quot;do not&quot; request only applies within the specified time. If a performerType is specified then the &quot;do not&quot; request only applies to performers of that type. Qualifiers include: code, subject, occurrence, perormerType and performer. In some cases, the Request.code may pre-coordinate prohibition into the requested action. E.g. &quot;NPO&quot; (nothing by mouth), &quot;DNR&quot; (do not recussitate). If this happens, doNotPerform SHALL NOT be set to true. I.e. The resource shall not have double negation. (E.g. &quot;Do not DNR&quot;)."></comment>
<comment value="The attributes provided with the request qualify what is not to be done. For example, if an effectiveTime is provided, the &quot;do not&quot; request only applies within the specified time. If a performerType is specified then the &quot;do not&quot; request only applies to performers of that type. Qualifiers include: code, subject, occurrence, perormerType and performer. In some cases, the Request.code may pre-coordinate prohibition into the requested action. E.g. &quot;NPO&quot; (nothing by mouth), &quot;DNR&quot; (do not recussitate). If this happens, doNotPerform SHALL NOT be set to true. I.e. The resource shall not have double negation. (E.g. &quot;Do not DNR&quot;)."></comment>
<min value="0"></min>
<max value="1"></max>
<isModifier value="true"></isModifier>
@ -50950,9 +50939,7 @@ NOTE Translations are allowed to contain other representations in UCUM units, bu
<value value="HL7"></value>
</telecom>
</contact>
<description value="This Contact is the preferred contact at this organization for the purpose of the contact
There can be multiple contacts on an Organizations record with this value set to true, but these should all have different purpose values."></description>
<description value="This Contact is the preferred contact at this organization for the purpose of the contact There can be multiple contacts on an Organizations record with this value set to true, but these should all have different purpose values."></description>
<fhirVersion value="4.2.0"></fhirVersion>
<mapping>
<identity value="rim"></identity>
@ -50972,9 +50959,7 @@ There can be multiple contacts on an Organizations record with this value set to
<element id="Extension">
<path value="Extension"></path>
<short value="Extension"></short>
<definition value="This Contact is the preferred contact at this organization for the purpose of the contact
There can be multiple contacts on an Organizations record with this value set to true, but these should all have different purpose values."></definition>
<definition value="This Contact is the preferred contact at this organization for the purpose of the contact There can be multiple contacts on an Organizations record with this value set to true, but these should all have different purpose values."></definition>
<min value="0"></min>
<max value="1"></max>
<base>
@ -51126,9 +51111,7 @@ There can be multiple contacts on an Organizations record with this value set to
<differential>
<element id="Extension">
<path value="Extension"></path>
<definition value="This Contact is the preferred contact at this organization for the purpose of the contact
There can be multiple contacts on an Organizations record with this value set to true, but these should all have different purpose values."></definition>
<definition value="This Contact is the preferred contact at this organization for the purpose of the contact There can be multiple contacts on an Organizations record with this value set to true, but these should all have different purpose values."></definition>
<min value="0"></min>
<max value="1"></max>
</element>
@ -60790,9 +60773,7 @@ There can be multiple contacts on an Organizations record with this value set to
<path value="Extension"></path>
<short value="Is signature needed?"></short>
<definition value="Indicates that a signature (of the specified type) is needed when completing the QuestionnaireResponse."></definition>
<comment value="If this appears at the Questionnaire level, then the signature will be gathered for the entire form when it is marked complete. If it appears on a particular item, then it will be gathered on that question or group when it is filled in. (E.g. seeking the user's initials beside certain questions.)
The signature can be captured using the http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature extension."></comment>
<comment value="If this appears at the Questionnaire level, then the signature will be gathered for the entire form when it is marked complete. If it appears on a particular item, then it will be gathered on that question or group when it is filled in. (E.g. seeking the user's initials beside certain questions.) The signature can be captured using the http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature extension."></comment>
<min value="0"></min>
<max value="*"></max>
<base>
@ -60954,9 +60935,7 @@ The signature can be captured using the http://hl7.org/fhir/StructureDefinition/
<path value="Extension"></path>
<short value="Is signature needed?"></short>
<definition value="Indicates that a signature (of the specified type) is needed when completing the QuestionnaireResponse."></definition>
<comment value="If this appears at the Questionnaire level, then the signature will be gathered for the entire form when it is marked complete. If it appears on a particular item, then it will be gathered on that question or group when it is filled in. (E.g. seeking the user's initials beside certain questions.)
The signature can be captured using the http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature extension."></comment>
<comment value="If this appears at the Questionnaire level, then the signature will be gathered for the entire form when it is marked complete. If it appears on a particular item, then it will be gathered on that question or group when it is filled in. (E.g. seeking the user's initials beside certain questions.) The signature can be captured using the http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature extension."></comment>
<min value="0"></min>
<max value="*"></max>
</element>
@ -77867,11 +77846,7 @@ The signature can be captured using the http://hl7.org/fhir/StructureDefinition/
<path value="Extension"></path>
<short value="Date when the activity status is in effect"></short>
<definition value="The date when the associated Value Set Definition Version activity status is in effect."></definition>
<comment value="When the Activity Status is set to Active, the Activity Status Date defines the Effective Date which is the date-time the Value Set Definition Version becomes active. When the Activity Status is set to Inactive, the Activity Status Date is the date-time when the Value Set Definition version becomes Inactive. This cycle may happen multiple times. The specified time is expected to be one second after midnight UTC of the Activity Status Date. The date may be in the future.
It is strongly encouraged that the Activity Status be set such that no more than one Value Set Definition Version for a single Value Set Identifier can have an Activity Status of ACTIVE at the same time within a single realm. In cases where this is not true, evaluation of the alignment of a Value Set Expansion Code Set to a specific Value Set Definition, as referenced in a CD, will be problematic.
Changes to this element should never result in a new Value Set Definition Version."></comment>
<comment value="When the Activity Status is set to “Active”, the Activity Status Date defines the Effective Date which is the date-time the Value Set Definition Version becomes active. When the Activity Status is set to “Inactive”, the Activity Status Date is the date-time when the Value Set Definition version becomes Inactive. This cycle may happen multiple times. The specified time is expected to be one second after midnight UTC of the Activity Status Date. The date may be in the future. It is strongly encouraged that the Activity Status be set such that no more than one Value Set Definition Version for a single Value Set Identifier can have an Activity Status of ACTIVE at the same time within a single realm. In cases where this is not true, evaluation of the alignment of a Value Set Expansion Code Set to a specific Value Set Definition, as referenced in a CD, will be problematic. Changes to this element should never result in a new Value Set Definition Version."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -78025,11 +78000,7 @@ Changes to this element should never result in a new Value Set Definition Versio
<path value="Extension"></path>
<short value="Date when the activity status is in effect"></short>
<definition value="The date when the associated Value Set Definition Version activity status is in effect."></definition>
<comment value="When the Activity Status is set to Active, the Activity Status Date defines the Effective Date which is the date-time the Value Set Definition Version becomes active. When the Activity Status is set to Inactive, the Activity Status Date is the date-time when the Value Set Definition version becomes Inactive. This cycle may happen multiple times. The specified time is expected to be one second after midnight UTC of the Activity Status Date. The date may be in the future.
It is strongly encouraged that the Activity Status be set such that no more than one Value Set Definition Version for a single Value Set Identifier can have an Activity Status of ACTIVE at the same time within a single realm. In cases where this is not true, evaluation of the alignment of a Value Set Expansion Code Set to a specific Value Set Definition, as referenced in a CD, will be problematic.
Changes to this element should never result in a new Value Set Definition Version."></comment>
<comment value="When the Activity Status is set to “Active”, the Activity Status Date defines the Effective Date which is the date-time the Value Set Definition Version becomes active. When the Activity Status is set to “Inactive”, the Activity Status Date is the date-time when the Value Set Definition version becomes Inactive. This cycle may happen multiple times. The specified time is expected to be one second after midnight UTC of the Activity Status Date. The date may be in the future. It is strongly encouraged that the Activity Status be set such that no more than one Value Set Definition Version for a single Value Set Identifier can have an Activity Status of ACTIVE at the same time within a single realm. In cases where this is not true, evaluation of the alignment of a Value Set Expansion Code Set to a specific Value Set Definition, as referenced in a CD, will be problematic. Changes to this element should never result in a new Value Set Definition Version."></comment>
<min value="0"></min>
<max value="1"></max>
</element>
@ -95108,10 +95079,7 @@ Changes to this element should never result in a new Value Set Definition Versio
<value value="http://hl7.org/special/committees/orders"></value>
</telecom>
</contact>
<description value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement.
For more detail, please see:
https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></description>
<description value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement. For more detail, please see: https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></description>
<fhirVersion value="4.2.0"></fhirVersion>
<mapping>
<identity value="rim"></identity>
@ -95130,14 +95098,8 @@ https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></description>
<snapshot>
<element id="Extension">
<path value="Extension"></path>
<short value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement.
For more detail, please see:
https://ghr.nlm.nih.gov/primer/testing/secondaryfindings"></short>
<definition value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement.
For more detail, please see:
https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<short value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement. For more detail, please see: https://ghr.nlm.nih.gov/primer/testing/secondaryfindings"></short>
<definition value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement. For more detail, please see: https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<min value="0"></min>
<max value="1"></max>
<base>
@ -95297,14 +95259,8 @@ https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<differential>
<element id="Extension">
<path value="Extension"></path>
<short value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement.
For more detail, please see:
https://ghr.nlm.nih.gov/primer/testing/secondaryfindings"></short>
<definition value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement.
For more detail, please see:
https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<short value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement. For more detail, please see: https://ghr.nlm.nih.gov/primer/testing/secondaryfindings"></short>
<definition value="Secondary findings are genetic test results that provide information about variants in a gene unrelated to the primary purpose for the testing, most often discovered when [Whole Exome Sequencing (WES)](https://en.wikipedia.org/wiki/Exome_sequencing) or [Whole Genome Sequencing (WGS)](https://en.wikipedia.org/wiki/Whole_genome_sequencing) is performed. This extension should be used to denote when a genetic finding is being shared as a secondary finding, and ideally refer to a corresponding guideline or policy statement. For more detail, please see: https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<min value="0"></min>
<max value="1"></max>
</element>
@ -106909,7 +106865,7 @@ https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<value value="http://www.hl7.org/Special/committees/clingenomics"></value>
</telecom>
</contact>
<description value="The platform, methodology and software applied at the time of the genotyping."></description>
<description value="The platform, methodology and software applied at the time of the genotyping."></description>
<fhirVersion value="4.2.0"></fhirVersion>
<mapping>
<identity value="rim"></identity>
@ -106928,8 +106884,8 @@ https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<snapshot>
<element id="Extension">
<path value="Extension"></path>
<short value="The platform, methodology and software applied at the time of the genotyping"></short>
<definition value="The platform, methodology and software applied at the time of the genotyping."></definition>
<short value="The platform, methodology and software applied at the time of the genotyping"></short>
<definition value="The platform, methodology and software applied at the time of the genotyping."></definition>
<min value="0"></min>
<max value="1"></max>
<base>
@ -107081,8 +107037,8 @@ https://ghr.nlm.nih.gov/primer/testing/secondaryfindings."></definition>
<differential>
<element id="Extension">
<path value="Extension"></path>
<short value="The platform, methodology and software applied at the time of the genotyping"></short>
<definition value="The platform, methodology and software applied at the time of the genotyping."></definition>
<short value="The platform, methodology and software applied at the time of the genotyping"></short>
<definition value="The platform, methodology and software applied at the time of the genotyping."></definition>
<min value="0"></min>
<max value="1"></max>
</element>

View File

@ -371,9 +371,7 @@
<element id="BackboneElement.modifierExtension">
<path value="BackboneElement.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -435,9 +433,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="BackboneElement.modifierExtension">
<path value="BackboneElement.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -6861,9 +6857,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="BackboneType.modifierExtension">
<path value="BackboneType.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -6925,9 +6919,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="BackboneType.modifierExtension">
<path value="BackboneType.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -9830,9 +9822,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="DataRequirement.mustSupport">
<path value="DataRequirement.mustSupport"></path>
<short value="Indicates specific structure elements that are referenced by the knowledge module"></short>
<definition value="Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)."></definition>
<definition value="Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)."></definition>
<min value="0"></min>
<max value="*"></max>
<base>
@ -10510,9 +10500,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data
<element id="DataRequirement.mustSupport">
<path value="DataRequirement.mustSupport"></path>
<short value="Indicates specific structure elements that are referenced by the knowledge module"></short>
<definition value="Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)."></definition>
<definition value="Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)."></definition>
<min value="0"></min>
<max value="*"></max>
<type>
@ -11422,9 +11410,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data
<element id="Dosage.modifierExtension">
<path value="Dosage.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -11996,7 +11982,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<path value="Dosage.doseAndRate.rate[x]"></path>
<short value="Amount of medication per unit of time"></short>
<definition value="Amount of medication per unit of time."></definition>
<comment value="It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour."></comment>
<comment value="It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour."></comment>
<requirements value="Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period."></requirements>
<min value="0"></min>
<max value="1"></max>
@ -12438,7 +12424,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<path value="Dosage.doseAndRate.rate[x]"></path>
<short value="Amount of medication per unit of time"></short>
<definition value="Amount of medication per unit of time."></definition>
<comment value="It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour."></comment>
<comment value="It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour."></comment>
<requirements value="Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period."></requirements>
<min value="0"></min>
<max value="1"></max>
@ -13214,9 +13200,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="ElementDefinition.modifierExtension">
<path value="ElementDefinition.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -14790,9 +14774,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<path value="ElementDefinition.defaultValue[x]"></path>
<short value="Specified value if missing from instance"></short>
<definition value="The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false')."></definition>
<comment value="Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly.
No default values are ever defined in the FHIR specification, nor can they be defined in constraints (&quot;profiles&quot;) on data types or resources. This element only exists so that default values may be defined in logical models."></comment>
<comment value="Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. No default values are ever defined in the FHIR specification, nor can they be defined in constraints (&quot;profiles&quot;) on data types or resources. This element only exists so that default values may be defined in logical models."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -15223,17 +15205,7 @@ No default values are ever defined in the FHIR specification, nor can they be de
<element id="ElementDefinition.pattern[x]">
<path value="ElementDefinition.pattern[x]"></path>
<short value="Value must have at least these property values"></short>
<definition value="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.
When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.
When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.
When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,
1. If primitive: it must match exactly the pattern value
2. If a complex object: it must match (recursively) the pattern value
3. If an array: it must match (recursively) the pattern value."></definition>
<definition value="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value 3. If an array: it must match (recursively) the pattern value."></definition>
<comment value="Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]."></comment>
<min value="0"></min>
<max value="1"></max>
@ -17833,9 +17805,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper
<path value="ElementDefinition.defaultValue[x]"></path>
<short value="Specified value if missing from instance"></short>
<definition value="The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false')."></definition>
<comment value="Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly.
No default values are ever defined in the FHIR specification, nor can they be defined in constraints (&quot;profiles&quot;) on data types or resources. This element only exists so that default values may be defined in logical models."></comment>
<comment value="Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed, or changed in constraints on content models. Defining default values creates many difficulties in implementation (e.g. when is a value missing?). For these reasons, default values are (and should be) used extremely sparingly. No default values are ever defined in the FHIR specification, nor can they be defined in constraints (&quot;profiles&quot;) on data types or resources. This element only exists so that default values may be defined in logical models."></comment>
<min value="0"></min>
<max value="1"></max>
<type>
@ -18210,17 +18180,7 @@ No default values are ever defined in the FHIR specification, nor can they be de
<element id="ElementDefinition.pattern[x]">
<path value="ElementDefinition.pattern[x]"></path>
<short value="Value must have at least these property values"></short>
<definition value="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.
When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.
When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.
When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,
1. If primitive: it must match exactly the pattern value
2. If a complex object: it must match (recursively) the pattern value
3. If an array: it must match (recursively) the pattern value."></definition>
<definition value="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value 3. If an array: it must match (recursively) the pattern value."></definition>
<comment value="Mostly used for fixing values of CodeableConcept. In general, pattern[x] is not intended for use with primitive types, where is has the same meaning as fixed[x]."></comment>
<min value="0"></min>
<max value="1"></max>
@ -21544,9 +21504,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper
<element id="MarketingStatus.modifierExtension">
<path value="MarketingStatus.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -21987,9 +21945,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<path value="Meta.source"></path>
<short value="Identifies where the resource comes from"></short>
<definition value="A uri that identifies the source system of the resource. This provides a minimal amount of [Provenance](provenance.html#) information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc."></definition>
<comment value="In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used.
This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL."></comment>
<comment value="In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -22156,9 +22112,7 @@ This element can be used to indicate where the current master source of a resour
<path value="Meta.source"></path>
<short value="Identifies where the resource comes from"></short>
<definition value="A uri that identifies the source system of the resource. This provides a minimal amount of [Provenance](provenance.html#) information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc."></definition>
<comment value="In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used.
This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL."></comment>
<comment value="In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL."></comment>
<min value="0"></min>
<max value="1"></max>
<type>
@ -22969,9 +22923,7 @@ This element can be used to indicate where the current master source of a resour
<element id="OrderedDistribution.modifierExtension">
<path value="OrderedDistribution.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -23947,9 +23899,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<path value="Period"></path>
<short value="Time range defined by start and end date/time"></short>
<definition value="A time period defined by a start and end date and optionally time."></definition>
<comment value="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;).
Period is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)."></comment>
<comment value="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;). Period is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)."></comment>
<min value="0"></min>
<max value="*"></max>
<base>
@ -24143,9 +24093,7 @@ Period is not used for a duration (a measure of elapsed time). See [Duration](da
<path value="Period"></path>
<short value="Time range defined by start and end date/time"></short>
<definition value="A time period defined by a start and end date and optionally time."></definition>
<comment value="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;).
Period is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)."></comment>
<comment value="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;). Period is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)."></comment>
<min value="0"></min>
<max value="*"></max>
<constraint>
@ -24352,9 +24300,7 @@ Period is not used for a duration (a measure of elapsed time). See [Duration](da
<element id="Population.modifierExtension">
<path value="Population.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -24868,9 +24814,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="ProdCharacteristic.modifierExtension">
<path value="ProdCharacteristic.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -25463,9 +25407,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="ProductShelfLife.modifierExtension">
<path value="ProductShelfLife.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -26961,9 +26903,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="Reference.type">
<path value="Reference.type"></path>
<short value="Type the reference refers to (e.g. &quot;Patient&quot;)"></short>
<definition value="The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.
The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. &quot;Patient&quot; is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)."></definition>
<definition value="The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. &quot;Patient&quot; is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)."></definition>
<comment value="This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified."></comment>
<min value="0"></min>
<max value="1"></max>
@ -27002,13 +26942,7 @@ The type is the Canonical URL of Resource Definition that is the type this refer
<path value="Reference.identifier"></path>
<short value="Logical reference, when literal reference is not known"></short>
<definition value="An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference."></definition>
<comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.
When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference
Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any)."></comment>
<comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any)."></comment>
<min value="0"></min>
<max value="1"></max>
<base>
@ -27114,9 +27048,7 @@ Reference is intended to point to a structure that can potentially be expressed
<element id="Reference.type">
<path value="Reference.type"></path>
<short value="Type the reference refers to (e.g. &quot;Patient&quot;)"></short>
<definition value="The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.
The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. &quot;Patient&quot; is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)."></definition>
<definition value="The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. &quot;Patient&quot; is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)."></definition>
<comment value="This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified."></comment>
<min value="0"></min>
<max value="1"></max>
@ -27141,13 +27073,7 @@ The type is the Canonical URL of Resource Definition that is the type this refer
<path value="Reference.identifier"></path>
<short value="Logical reference, when literal reference is not known"></short>
<definition value="An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference."></definition>
<comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.
When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference
Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any)."></comment>
<comment value="When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any)."></comment>
<min value="0"></min>
<max value="1"></max>
<type>
@ -28763,9 +28689,7 @@ Reference is intended to point to a structure that can potentially be expressed
<element id="Statistic.modifierExtension">
<path value="Statistic.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -30136,9 +30060,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<element id="SubstanceAmount.modifierExtension">
<path value="SubstanceAmount.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -30551,9 +30473,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<path value="Timing"></path>
<short value="A timing schedule that specifies an event that may occur multiple times"></short>
<definition value="Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out."></definition>
<comment value="Describes the occurrence of an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur, and may also be used to represent the summary of a past or ongoing event. For simplicity, the definitions of Timing components are expressed as 'future' events, but such components can also be used to describe historic or ongoing events.
A Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure."></comment>
<comment value="Describes the occurrence of an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur, and may also be used to represent the summary of a past or ongoing event. For simplicity, the definitions of Timing components are expressed as 'future' events, but such components can also be used to describe historic or ongoing events. A Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure."></comment>
<min value="0"></min>
<max value="*"></max>
<base>
@ -30660,9 +30580,7 @@ A Timing schedule can be a list of events and/or criteria for when the event hap
<element id="Timing.modifierExtension">
<path value="Timing.modifierExtension"></path>
<short value="Extensions that cannot be ignored even if unrecognized"></short>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)."></definition>
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."></comment>
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)."></requirements>
<alias value="extensions"></alias>
@ -31432,9 +31350,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or
<path value="Timing"></path>
<short value="A timing schedule that specifies an event that may occur multiple times"></short>
<definition value="Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out."></definition>
<comment value="Describes the occurrence of an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur, and may also be used to represent the summary of a past or ongoing event. For simplicity, the definitions of Timing components are expressed as 'future' events, but such components can also be used to describe historic or ongoing events.
A Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure."></comment>
<comment value="Describes the occurrence of an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur, and may also be used to represent the summary of a past or ongoing event. For simplicity, the definitions of Timing components are expressed as 'future' events, but such components can also be used to describe historic or ongoing events. A Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure."></comment>
<min value="0"></min>
<max value="*"></max>
<mapping>

View File

@ -9221,7 +9221,7 @@
<concept>
<code value="active"></code>
<display value="Active"></display>
<definition value="The patient is currently at this location, or was between the period specified. A system may update these records when the patient leaves the location to either reserved, or completed."></definition>
<definition value="The patient is currently at this location, or was between the period specified. A system may update these records when the patient leaves the location to either reserved, or completed."></definition>
</concept>
<concept>
<code value="reserved"></code>
@ -9231,7 +9231,7 @@
<concept>
<code value="completed"></code>
<display value="Completed"></display>
<definition value="The patient was at this location during the period specified. Not to be used when the patient is currently at the location."></definition>
<definition value="The patient was at this location during the period specified. Not to be used when the patient is currently at the location."></definition>
</concept>
</CodeSystem>
</resource>
@ -20141,9 +20141,7 @@
</concept>
<concept>
<extension url="http://hl7.org/fhir/StructureDefinition/codesystem-concept-comments">
<valueString value="The definition of is-a is that all the properties of the value are true for the specified property of the code.
Spelling note: &quot;descendant&quot; is a more correct spelling, but the spelling &quot;descendent&quot; is maintained in the code for backwards compatibility reasons"></valueString>
<valueString value="The definition of is-a is that all the properties of the value are true for the specified property of the code. Spelling note: &quot;descendant&quot; is a more correct spelling, but the spelling &quot;descendent&quot; is maintained in the code for backwards compatibility reasons"></valueString>
</extension>
<code value="descendent-of"></code>
<display value="Descendent Of (by subsumption)"></display>
@ -20408,8 +20406,7 @@ Spelling note: &quot;descendant&quot; is a more correct spelling, but the spelli
<concept>
<code value="waitlist"></code>
<display value="Waitlisted"></display>
<definition value="The appointment has been placed on a waitlist, to be scheduled/confirmed in the future when a slot/service is available.
A specific time might or might not be pre-allocated."></definition>
<definition value="The appointment has been placed on a waitlist, to be scheduled/confirmed in the future when a slot/service is available. A specific time might or might not be pre-allocated."></definition>
</concept>
</CodeSystem>
</resource>
@ -37875,8 +37872,7 @@ A specific time might or might not be pre-allocated."></definition>
<concept>
<code value="completed"></code>
<display value="Completed"></display>
<definition value="Study is closed to accrual and intervention, i.e. the study is closed to enrollment, all study subjects have completed treatment
or intervention but are still being followed according to the primary objective of the study."></definition>
<definition value="Study is closed to accrual and intervention, i.e. the study is closed to enrollment, all study subjects have completed treatment or intervention but are still being followed according to the primary objective of the study."></definition>
</concept>
<concept>
<code value="disapproved"></code>
@ -38260,8 +38256,7 @@ or intervention but are still being followed according to the primary objective
<concept>
<code value="ineligible"></code>
<display value="Ineligible"></display>
<definition value="A person who did not meet one or more criteria required for participation in a study is considered to have failed screening or
is ineligible for the study."></definition>
<definition value="A person who did not meet one or more criteria required for participation in a study is considered to have failed screening or is ineligible for the study."></definition>
</concept>
<concept>
<code value="not-registered"></code>
@ -38271,8 +38266,7 @@ is ineligible for the study."></definition>
<concept>
<code value="off-study"></code>
<display value="Off-study"></display>
<definition value="A person that has ended their participation on a study either because their treatment/observation is complete or through not
responding, withdrawal, non-compliance and/or adverse event."></definition>
<definition value="A person that has ended their participation on a study either because their treatment/observation is complete or through not responding, withdrawal, non-compliance and/or adverse event."></definition>
</concept>
<concept>
<code value="on-study"></code>
@ -38429,8 +38423,7 @@ responding, withdrawal, non-compliance and/or adverse event."></definition>
<concept>
<code value="ineligible"></code>
<display value="Ineligible"></display>
<definition value="A person who did not meet one or more criteria required for participation in a study is considered to have failed screening or
is ineligible for the study."></definition>
<definition value="A person who did not meet one or more criteria required for participation in a study is considered to have failed screening or is ineligible for the study."></definition>
</concept>
<concept>
<code value="not-registered"></code>
@ -38440,8 +38433,7 @@ is ineligible for the study."></definition>
<concept>
<code value="off-study"></code>
<display value="Off-study"></display>
<definition value="A person that has ended their participation on a study either because their treatment/observation is complete or through not
responding, withdrawal, non-compliance and/or adverse event."></definition>
<definition value="A person that has ended their participation on a study either because their treatment/observation is complete or through not responding, withdrawal, non-compliance and/or adverse event."></definition>
</concept>
<concept>
<code value="on-study"></code>
@ -39313,20 +39305,17 @@ responding, withdrawal, non-compliance and/or adverse event."></definition>
<concept>
<code value="1100"></code>
<display value="Unvorhergesehene Inanspruchnahme"></display>
<definition value="From German EBM billing system:
Unvorhergesehene Inanspruchnahme des Vertragsarztes durch einen Patienten;zwischen 19:00 und 22:00 Uhr;an Samstagen, Sonntagen und gesetzlichen Feiertagen, am 24.12. und 31.12. zwischen 07:00 und 19:00 Uhr."></definition>
<definition value="From German EBM billing system: Unvorhergesehene Inanspruchnahme des Vertragsarztes durch einen Patienten;zwischen 19:00 und 22:00 Uhr;an Samstagen, Sonntagen und gesetzlichen Feiertagen, am 24.12. und 31.12. zwischen 07:00 und 19:00 Uhr."></definition>
</concept>
<concept>
<code value="1210"></code>
<display value="Notfallpauschale"></display>
<definition value="From German EBM billing system:
Notfallpauschale im organisierten Not(-fall)dienst und für nicht an der vertragsärztlichen Versorgung teilnehmende Ärzte, Institute und Krankenhäuser bei Inanspruchnahme;zwischen 07:00 und 19:00 Uhr."></definition>
<definition value="From German EBM billing system: Notfallpauschale im organisierten Not(-fall)dienst und für nicht an der vertragsärztlichen Versorgung teilnehmende Ärzte, Institute und Krankenhäuser bei Inanspruchnahme;zwischen 07:00 und 19:00 Uhr."></definition>
</concept>
<concept>
<code value="1320"></code>
<display value="Grundpauschale"></display>
<definition value="From German EBM billing system:
Grundpauschale für Ärzte, Institute und Krankenhäuser, die zur Erbringung von Leistungen innerhalb mindestens eines der Fachgebiete Anästhesiologie, Frauenheilkunde und Geburtshilfe, Haut- und Geschlechtskrankheiten, Mund-, Kiefer- und Gesichtschirurgie und Humangenetik ermächtigt sind."></definition>
<definition value="From German EBM billing system: Grundpauschale für Ärzte, Institute und Krankenhäuser, die zur Erbringung von Leistungen innerhalb mindestens eines der Fachgebiete Anästhesiologie, Frauenheilkunde und Geburtshilfe, Haut- und Geschlechtskrankheiten, Mund-, Kiefer- und Gesichtschirurgie und Humangenetik ermächtigt sind."></definition>
</concept>
</CodeSystem>
</resource>
@ -42638,8 +42627,7 @@ Grundpauschale für Ärzte, Institute und Krankenhäuser, die zur Erbringung von
<concept>
<code value="BiologicallyDerivedProduct"></code>
<display value="BiologicallyDerivedProduct"></display>
<definition value="A material substance originating from a biological entity intended to be transplanted or infused
into another (possibly the same) biological entity."></definition>
<definition value="A material substance originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity."></definition>
<designation>
<language value="en"></language>
<use>
@ -45105,9 +45093,7 @@ into another (possibly the same) biological entity."></definition>
<concept>
<code value="MedicationUsage"></code>
<display value="MedicationUsage"></display>
<definition value="A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.
The primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information."></definition>
<definition value="A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. The primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information."></definition>
<designation>
<language value="en"></language>
<use>
@ -67254,9 +67240,7 @@ The primary difference between a medicationusage and a medicationadministration
<concept>
<code value="trial-use"></code>
<display value="Trial-Use"></display>
<definition value="This content has been well reviewed and is considered by the authors to be ready for use in production systems. It has been subjected to ballot and approved as an official standard. However, it has not yet seen widespread use in production across the full spectrum of environments it is intended to be used in. In some cases, there may be documented known issues that require implementation experience to determine appropriate resolutions for.
Future versions of FHIR may make significant changes to Trial Use content that are not compatible with previously published content."></definition>
<definition value="This content has been well reviewed and is considered by the authors to be ready for use in production systems. It has been subjected to ballot and approved as an official standard. However, it has not yet seen widespread use in production across the full spectrum of environments it is intended to be used in. In some cases, there may be documented known issues that require implementation experience to determine appropriate resolutions for. Future versions of FHIR may make significant changes to Trial Use content that are not compatible with previously published content."></definition>
</concept>
<concept>
<code value="informative"></code>
@ -136607,11 +136591,7 @@ Future versions of FHIR may make significant changes to Trial Use content that a
<value value="http://hl7.org/fhir"></value>
</telecom>
</contact>
<description value="A categorical assessment, providing a rough qualitative interpretation of the observation value, such as normal/ abnormal,low / high, better / worse, susceptible / resistant, expected/ not expected. The value set is intended to be for ANY use where coded representation of an interpretation is needed.
Notes:
This is being communicated in v2.x in OBX-8 (Observation Interpretation), in v3 in ObservationInterpretation (CWE) in R1 (Representative Realm) and in FHIR in Observation.interpretation. Historically these values come from the laboratory domain, and these codes are extensively used. The value set binding is extensible, so codes outside the value set that are needed for interpretation concepts (i.e. particular meanings) that are not included in the value set can be used, and these new codes may also be added to the value set and published in a future version."></description>
<description value="A categorical assessment, providing a rough qualitative interpretation of the observation value, such as “normal”/ “abnormal”,”low” / “high”, “better” / “worse”, “susceptible” / “resistant”, “expected”/ “not expected”. The value set is intended to be for ANY use where coded representation of an interpretation is needed. Notes: This is being communicated in v2.x in OBX-8 (Observation Interpretation), in v3 in ObservationInterpretation (CWE) in R1 (Representative Realm) and in FHIR in Observation.interpretation. Historically these values come from the laboratory domain, and these codes are extensively used. The value set binding is extensible, so codes outside the value set that are needed for interpretation concepts (i.e. particular meanings) that are not included in the value set can be used, and these new codes may also be added to the value set and published in a future version."></description>
<compose>
<include>
<system value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"></system>
@ -138721,9 +138701,7 @@ Future versions of FHIR may make significant changes to Trial Use content that a
<value value="http://hl7.org/fhir"></value>
</telecom>
</contact>
<description value="This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.
Note: The codes for countries and country subdivisions are taken from [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) while the codes for &quot;supra-national&quot; regions are from [UN Standard country or area codes for statistical use (M49)](http://unstats.un.org/unsd/methods/m49/m49.htm)."></description>
<description value="This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used. Note: The codes for countries and country subdivisions are taken from [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) while the codes for &quot;supra-national&quot; regions are from [UN Standard country or area codes for statistical use (M49)](http://unstats.un.org/unsd/methods/m49/m49.htm)."></description>
<compose>
<include>
<system value="urn:iso:std:iso:3166"></system>

View File

@ -338,7 +338,7 @@ public class FhirInstanceValidatorR4Test extends BaseTest {
ValidationResult result = val.validateWithResult(input);
List<SingleValidationMessage> all = logResultsAndReturnAll(result);
assertFalse(result.isSuccessful());
assertEquals("@value cannot be empty", all.get(0).getMessage());
assertEquals("ele-1: All FHIR elements must have a @value or children [hasValue() or (children().count() > id.count())]", all.get(0).getMessage());
}
/**
@ -367,6 +367,32 @@ public class FhirInstanceValidatorR4Test extends BaseTest {
assertEquals("This property must be an Array, not a a primitive property", all.get(0).getMessage());
}
@Test
public void testValidateMeta() {
String input = "{" +
" \"resourceType\": \"Parameters\"," +
" \"parameter\": [" +
" {" +
" \"name\": \"meta\"," +
" \"valueMeta\": {" +
" \"tag\": [" +
" {" +
" \"system\": \"urn:test-fake-system\"," +
" \"code\": \"420\"" +
" }" +
" ]" +
" }" +
" }" +
" ]" +
"}";
FhirValidator val = ourCtx.newValidator();
val.registerValidatorModule(new FhirInstanceValidator(myDefaultValidationSupport));
ValidationResult result = val.validateWithResult(input);
List<SingleValidationMessage> all = logResultsAndReturnAll(result);
assertTrue(result.isSuccessful());
}
/**
* See #1676 - We should ignore schema location
*/
@ -1152,7 +1178,7 @@ public class FhirInstanceValidatorR4Test extends BaseTest {
ValidationResult output = myVal.validateWithResult(input);
logResultsAndReturnAll(output);
assertEquals(
"The value provided (\"notvalidcode\") is not in the value set http://hl7.org/fhir/ValueSet/observation-status|4.0.0 (http://hl7.org/fhir/ValueSet/observation-status, and a code is required from this value set) (error message = Unknown code 'notvalidcode')",
"The value provided (\"notvalidcode\") is not in the value set http://hl7.org/fhir/ValueSet/observation-status|4.0.1 (http://hl7.org/fhir/ValueSet/observation-status, and a code is required from this value set) (error message = Unknown code 'notvalidcode')",
output.getMessages().get(0).getMessage());
}
@ -1352,7 +1378,7 @@ public class FhirInstanceValidatorR4Test extends BaseTest {
myInstanceVal.setValidatorResourceFetcher(resourceFetcher);
myVal.validateWithResult(encoded);
verify(resourceFetcher, times(14)).resolveURL(any(), anyString(), anyString());
verify(resourceFetcher, times(15)).resolveURL(any(), anyString(), anyString());
verify(resourceFetcher, times(12)).validationPolicy(any(), anyString(), anyString());
verify(resourceFetcher, times(12)).fetch(any(), anyString());
}

View File

@ -229,21 +229,21 @@ public class ResourceMinimizerMojo extends AbstractMojo {
// byteCount += m.getByteCount();
// fileCount += m.getFileCount();
// m = new ResourceMinimizerMojo();
// m.myCtx = ctxR4;
// m.targetDirectory = new File("./hapi-fhir-validation-resources-r4/src/main/resources/org/hl7/fhir/r4/model/profile");
// m.fhirVersion = "R4";
// m.execute();
// byteCount += m.getByteCount();
// fileCount += m.getFileCount();
//
// m = new ResourceMinimizerMojo();
// m.myCtx = ctxR4;
// m.targetDirectory = new File("./hapi-fhir-validation-resources-r4/src/main/resources/org/hl7/fhir/r4/model/valueset");
// m.fhirVersion = "R4";
// m.execute();
// byteCount += m.getByteCount();
// fileCount += m.getFileCount();
m = new ResourceMinimizerMojo();
m.myCtx = ctxR4;
m.targetDirectory = new File("./hapi-fhir-validation-resources-r4/src/main/resources/org/hl7/fhir/r4/model/profile");
m.fhirVersion = "R4";
m.execute();
byteCount += m.getByteCount();
fileCount += m.getFileCount();
m = new ResourceMinimizerMojo();
m.myCtx = ctxR4;
m.targetDirectory = new File("./hapi-fhir-validation-resources-r4/src/main/resources/org/hl7/fhir/r4/model/valueset");
m.fhirVersion = "R4";
m.execute();
byteCount += m.getByteCount();
fileCount += m.getFileCount();
m = new ResourceMinimizerMojo();
m.myCtx = ctxR5;