Class ChEmedEprDocumentPre

java.lang.Object
org.hl7.fhir.r4.model.Base
org.hl7.fhir.r4.model.BaseResource
All Implemented Interfaces:
ca.uhn.fhir.model.api.IElement, Serializable, org.hl7.fhir.instance.model.api.IAnyResource, org.hl7.fhir.instance.model.api.IBase, org.hl7.fhir.instance.model.api.IBaseBundle, org.hl7.fhir.instance.model.api.IBaseResource

public class ChEmedEprDocumentPre extends ChEmedEprDocument
The HAPI custom structure for the CH-EMED-EPR PRE Document Bundle.
Author:
Quentin Ligier
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.hl7.fhir.r4.model.Bundle

    org.hl7.fhir.r4.model.Bundle.BundleEntryComponent, org.hl7.fhir.r4.model.Bundle.BundleEntryRequestComponent, org.hl7.fhir.r4.model.Bundle.BundleEntryResponseComponent, org.hl7.fhir.r4.model.Bundle.BundleEntrySearchComponent, org.hl7.fhir.r4.model.Bundle.BundleLinkComponent, org.hl7.fhir.r4.model.Bundle.BundleType, org.hl7.fhir.r4.model.Bundle.BundleTypeEnumFactory, org.hl7.fhir.r4.model.Bundle.HTTPVerb, org.hl7.fhir.r4.model.Bundle.HTTPVerbEnumFactory, org.hl7.fhir.r4.model.Bundle.SearchEntryMode, org.hl7.fhir.r4.model.Bundle.SearchEntryModeEnumFactory
  • Field Summary

    Fields inherited from class org.hl7.fhir.r4.model.Bundle

    COMPOSITION, entry, identifier, IDENTIFIER, INCLUDE_COMPOSITION, INCLUDE_MESSAGE, link, MESSAGE, signature, SP_COMPOSITION, SP_IDENTIFIER, SP_MESSAGE, SP_TIMESTAMP, SP_TYPE, timestamp, TIMESTAMP, total, type, TYPE

    Fields inherited from class org.hl7.fhir.r4.model.Resource

    id, implicitRules, language, meta

    Fields inherited from interface org.hl7.fhir.instance.model.api.IAnyResource

    RES_ID, RES_LAST_UPDATED, RES_PROFILE, RES_SECURITY, RES_TAG, SP_RES_ID, SP_RES_LAST_UPDATED, SP_RES_PROFILE, SP_RES_SECURITY, SP_RES_TAG

    Fields inherited from interface org.hl7.fhir.instance.model.api.IBaseBundle

    LINK_NEXT, LINK_PREV, LINK_SELF

    Fields inherited from interface org.hl7.fhir.instance.model.api.IBaseResource

    INCLUDE_ALL, WILDCARD_ALL_SET
  • Constructor Summary

    Constructors
    Constructor
    Description
    Empty constructor for the parser.
    ChEmedEprDocumentPre(UUID documentId, Instant timestamp)
    Constructor that pre-populates fields.
  • Method Summary

    Modifier and Type
    Method
    Description
    Adds a medication request in the document.
     
    org.hl7.fhir.r4.model.Bundle.BundleEntryComponent
    Returns the composition entry; if missing, it creates it.
     
    boolean
    Returns whether the composition entry exists.
    Returns the composition or throws.
    It resolves the last medication request from the PRE.
    Convenience method to resolve all the medication requests listed in the composition of this prescription document.
    Sets the composition.

    Methods inherited from class org.projecthusky.fhir.emed.ch.epr.resource.ChEmedEprDocument

    resolveIdentifier, resolvePatient, resolveTimestamp, setCreationTime, setIdentifier

    Methods inherited from class org.projecthusky.fhir.core.ch.resource.r4.ChCoreDocumentEpr

    addComposition, addComposition

    Methods inherited from class org.projecthusky.fhir.core.ch.resource.r4.ChCoreDocument

    addComposition, addPatient

    Methods inherited from class org.hl7.fhir.r4.model.Bundle

    addChild, addEntry, addEntry, addLink, addLink, copyValues, equalsDeep, equalsShallow, fhirType, getEntry, getEntryFirstRep, getIdentifier, getLink, getLink, getLinkFirstRep, getLinkOrCreate, getNamedProperty, getProperty, getResourceType, getSignature, getTimestamp, getTimestampElement, getTotal, getTotalElement, getType, getTypeElement, getTypesForProperty, hasEntry, hasIdentifier, hasLink, hasSignature, hasTimestamp, hasTimestampElement, hasTotal, hasTotalElement, hasType, hasTypeElement, isEmpty, listChildren, makeProperty, removeChild, setEntry, setIdentifier, setLink, setProperty, setProperty, setSignature, setTimestamp, setTimestampElement, setTotal, setTotalElement, setType, setTypeElement, typedCopy

    Methods inherited from class org.hl7.fhir.r4.model.Resource

    copyValues, getId, getIdBase, getIdElement, getIdPart, getImplicitRules, getImplicitRulesElement, getLanguage, getLanguage, getLanguageElement, getMeta, hasId, hasIdElement, hasImplicitRules, hasImplicitRulesElement, hasLanguage, hasLanguageElement, hasMeta, setId, setIdBase, setIdElement, setImplicitRules, setImplicitRulesElement, setLanguage, setLanguageElement, setMeta

    Methods inherited from class org.hl7.fhir.r4.model.BaseResource

    getStructureFhirVersionEnum, isResource, setId

    Methods inherited from class org.hl7.fhir.r4.model.Base

    castToAddress, castToAnnotation, castToAttachment, castToBase64Binary, castToBoolean, castToCanonical, castToCode, castToCodeableConcept, castToCoding, castToContactDetail, castToContactPoint, castToContributor, castToDataRequirement, castToDate, castToDateTime, castToDecimal, castToDosage, castToDuration, castToElementDefinition, castToExpression, castToExtension, castToHumanName, castToId, castToIdentifier, castToInstant, castToInteger, castToMarkdown, castToMarketingStatus, castToMeta, castToMoney, castToNarrative, castToOid, castToParameterDefinition, castToPeriod, castToPopulation, castToPositiveInt, castToProdCharacteristic, castToProductShelfLife, castToQuantity, castToRange, castToRatio, castToReference, castToRelatedArtifact, castToResource, castToSampledData, castToSignature, castToSimpleQuantity, castToString, castToSubstanceAmount, castToTime, castToTiming, castToTriggerDefinition, castToType, castToUnsignedInt, castToUri, castToUrl, castToUsageContext, castToXhtml, castToXhtmlString, children, clearUserData, compareDeep, compareDeep, compareDeep, compareDeep, compareValues, compareValues, copyValues, dateTimeValue, equals, getChildByName, getChildValueByName, getFormatCommentsPost, getFormatCommentsPre, getNamedProperty, getUserData, getUserInt, getUserString, getXhtml, hasFormatComment, hasPrimitiveValue, hasType, hasUserData, isBooleanPrimitive, isDateTime, isMetadataBased, isPrimitive, listChildrenByName, listChildrenByName, primitiveValue, setUserData, setUserDataINN, setXhtml

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.hl7.fhir.instance.model.api.IAnyResource

    getUserData, setUserData

    Methods inherited from interface org.hl7.fhir.instance.model.api.IBase

    getFormatCommentsPost, getFormatCommentsPre, hasFormatComment

    Methods inherited from interface org.hl7.fhir.instance.model.api.IBaseResource

    getMeta, getStructureFhirVersionEnum, isDeleted, setId
  • Constructor Details

    • ChEmedEprDocumentPre

      public ChEmedEprDocumentPre()
      Empty constructor for the parser.
    • ChEmedEprDocumentPre

      public ChEmedEprDocumentPre(UUID documentId, Instant timestamp)
      Constructor that pre-populates fields.
      Parameters:
      documentId - The document ID.
      timestamp - The document creation date.
  • Method Details

    • getEmedType

      public EmedDocumentType getEmedType()
      Specified by:
      getEmedType in class ChEmedEprDocument
    • hasCompositionEntry

      public boolean hasCompositionEntry()
      Returns whether the composition entry exists.
      Returns:
      true if the composition entry exists, false otherwise.
    • getCompositionEntry

      public org.hl7.fhir.r4.model.Bundle.BundleEntryComponent getCompositionEntry()
      Returns the composition entry; if missing, it creates it.
      Specified by:
      getCompositionEntry in class ChEmedEprDocument
      Returns:
      the composition entry.
    • resolveComposition

      @ExpectsValidResource public ChEmedEprCompositionPre resolveComposition()
      Returns the composition or throws.
      Overrides:
      resolveComposition in class ChEmedEprDocument
      Returns:
      the composition.
      Throws:
      InvalidEmedContentException - if the composition is missing or if the medication requests are missing or any is invalid.
    • resolveMedicationRequests

      @ExpectsValidResource public List<@NonNull ChEmedEprMedicationRequestPre> resolveMedicationRequests()
      Convenience method to resolve all the medication requests listed in the composition of this prescription document.
      Returns:
      The medication requests.
      Throws:
      InvalidEmedContentException - if the composition is missing.
    • addMedicationRequest

      public ChEmedEprDocumentPre addMedicationRequest(ChEmedEprMedicationRequestPre medicationRequest)
      Adds a medication request in the document.
      Parameters:
      medicationRequest - the medication request.
      Returns:
      this.
    • setComposition

      public ChEmedEprDocumentPre setComposition(ChEmedEprCompositionPre composition)
      Sets the composition.
      Parameters:
      composition - The CH EMED Medication Prescription Composition.
      Returns:
      this.
    • resolveLastRequest

      It resolves the last medication request from the PRE. The last request is the request with the most recent medical authorship timestamp. Should several request share the same last timestamp instant, one among them will be returned, arbitrarily, depending on the order of execution.
      Returns:
      The medication request with the last medication authorship timestamp.
      Throws:
      InvalidEmedContentException - if the PRE document does not have any request listed in the prescription section or if any other errors related to CH EMED EPR invalid content are found.
    • copy

      public ChEmedEprDocumentPre copy()
      Overrides:
      copy in class org.hl7.fhir.r4.model.Bundle