Package org.hl7.fhir.dstu3.conformance
Class ProfileUtilities
java.lang.Object
org.hl7.fhir.utilities.TranslatingUtilities
org.hl7.fhir.dstu3.utils.TranslatingUtilities
org.hl7.fhir.dstu3.conformance.ProfileUtilities
This class provides a set of utility operations for working with Profiles.
Key functionality:
* getChildMap --?
* getChildList
* generateSnapshot: Given a base (snapshot) profile structure, and a differential profile, generate a new snapshot profile
* closeDifferential: fill out a differential by excluding anything not mentioned
* generateExtensionsTable: generate the HTML for a hierarchical table presentation of the extensions
* generateTable: generate the HTML for a hierarchical table presentation of a structure
* generateSpanningTable: generate the HTML for a table presentation of a network of structures, starting at a nominated point
* summarise: describe the contents of a profile
note to maintainers: Do not make modifications to the snapshot generation without first changing the snapshot generation test cases to demonstrate the grounds for your change
- Author:
- Grahame
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
class
static interface
class
Nested classes/interfaces inherited from class org.hl7.fhir.dstu3.utils.TranslatingUtilities
TranslatingUtilities.TranslationServices
-
Field Summary
-
Constructor Summary
ConstructorDescriptionProfileUtilities
(IWorkerContext context, List<org.hl7.fhir.utilities.validation.ValidationMessage> messages, ProfileUtilities.ProfileKnowledgeProvider pkp) -
Method Summary
Modifier and TypeMethodDescriptionstatic String
void
void
closeDifferential
(StructureDefinition base, StructureDefinition derived) static String
void
generateCsvs
(OutputStream dest, StructureDefinition structure, boolean asXml) generateExamples
(StructureDefinition sd, boolean evenWhenNoExamples) org.hl7.fhir.utilities.xhtml.XhtmlNode
generateExtensionTable
(String defFile, StructureDefinition ed, String imageFolder, boolean inlineGraphics, boolean full, String corePath, String imagePath, Set<String> outputTracker) org.hl7.fhir.utilities.xhtml.XhtmlNode
generateGrid
(String defFile, StructureDefinition profile, String imageFolder, boolean inlineGraphics, String profileBaseFileName, String corePath, String imagePath, Set<String> outputTracker) void
generateSchematrons
(OutputStream dest, StructureDefinition structure) void
generateSnapshot
(StructureDefinition base, StructureDefinition derived, String url, String profileName) Given a base (snapshot) profile structure, and a differential profile, generate a new snapshot profileorg.hl7.fhir.utilities.xhtml.XhtmlNode
generateSpanningTable
(StructureDefinition profile, String imageFolder, boolean onlyConstraints, String constraintPrefix, Set<String> outputTracker) org.hl7.fhir.utilities.xhtml.XhtmlNode
generateTable
(String defFile, StructureDefinition profile, boolean diff, String imageFolder, boolean inlineGraphics, String profileBaseFileName, boolean snapshot, String corePath, String imagePath, boolean logicalModel, boolean allInvariants, Set<String> outputTracker) static List
<ElementDefinition> getChildList
(StructureDefinition profile, String path, String id) Given a Structure, navigate to the element given by the path and return the direct children of that elementstatic List
<ElementDefinition> getChildList
(StructureDefinition structure, ElementDefinition element) static List
<ElementDefinition> getChildMap
(StructureDefinition profile, ElementDefinition element) getProfile
(StructureDefinition source, String url) static List
<ElementDefinition> getSliceList
(StructureDefinition profile, ElementDefinition element) org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel
initSpanningTable
(org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator gen, String prefix, boolean isLogical, String id) interpretR2Discriminator
(String discriminator) boolean
isIgmode()
boolean
isPrimitive
(String value) makeDiscriminator
(ElementDefinition.DiscriminatorType profile, String str) void
void
setIds
(StructureDefinition sd, boolean checkFirst) void
setIgmode
(boolean igmode) void
sortDifferential
(StructureDefinition base, StructureDefinition diff, String name, List<String> errors) static String
void
updateMaps
(StructureDefinition base, StructureDefinition derived) Methods inherited from class org.hl7.fhir.dstu3.utils.TranslatingUtilities
egt, gt
Methods inherited from class org.hl7.fhir.utilities.TranslatingUtilities
getTranslator, hasTranslator, setTranslator, toStr, toStr, translate, translate
-
Field Details
-
STATUS_OK
- See Also:
-
STATUS_HINT
- See Also:
-
STATUS_WARNING
- See Also:
-
STATUS_ERROR
- See Also:
-
STATUS_FATAL
- See Also:
-
DERIVATION_POINTER
- See Also:
-
IS_DERIVED
- See Also:
-
UD_ERROR_STATUS
- See Also:
-
-
Constructor Details
-
ProfileUtilities
public ProfileUtilities(IWorkerContext context, List<org.hl7.fhir.utilities.validation.ValidationMessage> messages, ProfileUtilities.ProfileKnowledgeProvider pkp)
-
-
Method Details
-
isIgmode
-
setIgmode
-
getChildMap
public static List<ElementDefinition> getChildMap(StructureDefinition profile, ElementDefinition element) throws org.hl7.fhir.exceptions.DefinitionException - Throws:
org.hl7.fhir.exceptions.DefinitionException
-
getSliceList
public static List<ElementDefinition> getSliceList(StructureDefinition profile, ElementDefinition element) throws org.hl7.fhir.exceptions.DefinitionException - Throws:
org.hl7.fhir.exceptions.DefinitionException
-
getChildList
public static List<ElementDefinition> getChildList(StructureDefinition profile, String path, String id) Given a Structure, navigate to the element given by the path and return the direct children of that element- Parameters:
path
- The path of the element within the structure to get the children forstructure
- The structure to navigate into- Returns:
- A List containing the element children (all of them are Elements)
-
getChildList
public static List<ElementDefinition> getChildList(StructureDefinition structure, ElementDefinition element) -
updateMaps
public void updateMaps(StructureDefinition base, StructureDefinition derived) throws org.hl7.fhir.exceptions.DefinitionException - Throws:
org.hl7.fhir.exceptions.DefinitionException
-
generateSnapshot
public void generateSnapshot(StructureDefinition base, StructureDefinition derived, String url, String profileName) throws org.hl7.fhir.exceptions.DefinitionException, org.hl7.fhir.exceptions.FHIRException Given a base (snapshot) profile structure, and a differential profile, generate a new snapshot profile- Parameters:
base
- - the base structure on which the differential will be appliedurl
- - where the base has relative urls for profile references, these need to be converted to absolutes by prepending this URLdifferential
- - the differential to apply to the basetrimDifferential
- - if this is true, then the snap short generator will remove any material in the element definitions that is not different to the base- Throws:
org.hl7.fhir.exceptions.FHIRException
org.hl7.fhir.exceptions.DefinitionException
Exception
-
typeCode
-
closeDifferential
public void closeDifferential(StructureDefinition base, StructureDefinition derived) throws org.hl7.fhir.exceptions.FHIRException - Throws:
org.hl7.fhir.exceptions.FHIRException
-
generateExtensionTable
public org.hl7.fhir.utilities.xhtml.XhtmlNode generateExtensionTable(String defFile, StructureDefinition ed, String imageFolder, boolean inlineGraphics, boolean full, String corePath, String imagePath, Set<String> outputTracker) throws IOException, org.hl7.fhir.exceptions.FHIRException - Throws:
IOException
org.hl7.fhir.exceptions.FHIRException
-
describeExtensionContext
-
generateTable
public org.hl7.fhir.utilities.xhtml.XhtmlNode generateTable(String defFile, StructureDefinition profile, boolean diff, String imageFolder, boolean inlineGraphics, String profileBaseFileName, boolean snapshot, String corePath, String imagePath, boolean logicalModel, boolean allInvariants, Set<String> outputTracker) throws IOException, org.hl7.fhir.exceptions.FHIRException - Throws:
IOException
org.hl7.fhir.exceptions.FHIRException
-
generateGrid
public org.hl7.fhir.utilities.xhtml.XhtmlNode generateGrid(String defFile, StructureDefinition profile, String imageFolder, boolean inlineGraphics, String profileBaseFileName, String corePath, String imagePath, Set<String> outputTracker) throws IOException, org.hl7.fhir.exceptions.FHIRException - Throws:
IOException
org.hl7.fhir.exceptions.FHIRException
-
describeSlice
-
isPrimitive
-
getProfile
-
sortDifferential
public void sortDifferential(StructureDefinition base, StructureDefinition diff, String name, List<String> errors) throws org.hl7.fhir.exceptions.FHIRException - Throws:
org.hl7.fhir.exceptions.FHIRException
-
generateSchematrons
public void generateSchematrons(OutputStream dest, StructureDefinition structure) throws IOException, org.hl7.fhir.exceptions.DefinitionException - Throws:
IOException
org.hl7.fhir.exceptions.DefinitionException
-
generateCsvs
public void generateCsvs(OutputStream dest, StructureDefinition structure, boolean asXml) throws IOException, org.hl7.fhir.exceptions.DefinitionException, Exception - Throws:
IOException
org.hl7.fhir.exceptions.DefinitionException
Exception
-
setIds
public void setIds(StructureDefinition sd, boolean checkFirst) throws org.hl7.fhir.exceptions.DefinitionException - Throws:
org.hl7.fhir.exceptions.DefinitionException
-
generateExamples
public List<Element> generateExamples(StructureDefinition sd, boolean evenWhenNoExamples) throws org.hl7.fhir.exceptions.FHIRException - Throws:
org.hl7.fhir.exceptions.FHIRException
-
populateLogicalSnapshot
public void populateLogicalSnapshot(StructureDefinition sd) throws org.hl7.fhir.exceptions.FHIRException - Throws:
org.hl7.fhir.exceptions.FHIRException
-
cleanUpDifferential
-
generateSpanningTable
public org.hl7.fhir.utilities.xhtml.XhtmlNode generateSpanningTable(StructureDefinition profile, String imageFolder, boolean onlyConstraints, String constraintPrefix, Set<String> outputTracker) throws IOException, org.hl7.fhir.exceptions.FHIRException - Throws:
IOException
org.hl7.fhir.exceptions.FHIRException
-
initSpanningTable
public org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel initSpanningTable(org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator gen, String prefix, boolean isLogical, String id) -
interpretR2Discriminator
public static ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent interpretR2Discriminator(String discriminator) -
makeDiscriminator
public static ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent makeDiscriminator(ElementDefinition.DiscriminatorType profile, String str) -
buildR2Discriminator
public static String buildR2Discriminator(ElementDefinition.ElementDefinitionSlicingDiscriminatorComponent t) throws org.hl7.fhir.exceptions.FHIRException - Throws:
org.hl7.fhir.exceptions.FHIRException
-