Package org.hl7.fhir.dstu2.utils
Class ProfileUtilities
java.lang.Object
org.hl7.fhir.dstu2.utils.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 * generateExtensionsTable: generate the HTML for a
hierarchical table presentation of the extensions * generateTable: generate
the HTML for a hierarchical table presentation of a structure * summarise:
describe the contents of a profile
- Author:
- Grahame
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
class
static interface
-
Field Summary
-
Constructor Summary
ConstructorDescriptionProfileUtilities
(IWorkerContext context, List<org.hl7.fhir.utilities.validation.ValidationMessage> messages, ProfileUtilities.ProfileKnowledgeProvider pkp) -
Method Summary
Modifier and TypeMethodDescriptionstatic String
org.hl7.fhir.utilities.xhtml.XhtmlNode
generateExtensionTable
(String defFile, StructureDefinition ed, String imageFolder, boolean inlineGraphics, boolean full, String corePath, 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
generateTable
(String defFile, StructureDefinition profile, boolean diff, String imageFolder, boolean inlineGraphics, String profileBaseFileName, boolean snapshot, String corePath, Set<String> outputTracker) static List
<ElementDefinition> getChildList
(StructureDefinition profile, String path) 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, String name, String path, String nameReference) Given a Structure, navigate to the element given by the path and return the direct children of that elementstatic List
<ElementDefinition> getChildMap
(StructureDefinition profile, ElementDefinition element) getProfile
(StructureDefinition source, String url) static boolean
isPrimitive
(String value) void
sortDifferential
(StructureDefinition base, StructureDefinition diff, String name, List<String> errors) static String
-
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
-
getChildMap
public static List<ElementDefinition> getChildMap(StructureDefinition profile, String name, String path, String nameReference) throws org.hl7.fhir.exceptions.DefinitionException 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 Map containing the name of the element child (not the path) and the child itself (an Element)
- Throws:
org.hl7.fhir.exceptions.DefinitionException
Exception
-
getChildMap
public static List<ElementDefinition> getChildMap(StructureDefinition profile, ElementDefinition element) throws org.hl7.fhir.exceptions.DefinitionException - Throws:
org.hl7.fhir.exceptions.DefinitionException
-
getChildList
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) -
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
-
generateExtensionTable
public org.hl7.fhir.utilities.xhtml.XhtmlNode generateExtensionTable(String defFile, StructureDefinition ed, String imageFolder, boolean inlineGraphics, boolean full, String corePath, 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, 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) -
generateSchematrons
public void generateSchematrons(OutputStream dest, StructureDefinition structure) throws IOException, org.hl7.fhir.exceptions.DefinitionException - Throws:
IOException
org.hl7.fhir.exceptions.DefinitionException
-