use of org.hl7.fhir.r5.model in project kindling by HL7.
the class FhirTurtleGenerator method genBaseMetadata.
/**
* Emit all the basic atoms that are implicit in the actual model
*/
private void genBaseMetadata() {
// Declare these for now - they will get filled in more completely later on
FHIRResource Resource = fact.fhir_class("Resource");
FHIRResource Element = fact.fhir_class("Element");
FHIRResource Reference = fact.fhir_class("Reference");
// Primitive isn't in the actual model - added here
fact.fhir_class("Primitive").addTitle("Types with only a value").addDefinition("Types with only a value and no additional elements as children").restriction(fact.fhir_restriction(value, RDFS.Literal));
// A resource can have an optional nodeRole
FHIRResource treeRoot = fact.fhir_class("treeRoot").addTitle("Class of FHIR base documents");
FHIRResource nodeRole = fact.fhir_objectProperty("nodeRole").addTitle("Identifies role of subject in context of a given document").domain(Resource).range(treeRoot.resource);
Resource.restriction(fact.fhir_cardinality_restriction(nodeRole.resource, treeRoot.resource, 0, 1));
// Any element can have an index to assign order in a list
FHIRResource index = fact.fhir_dataProperty("index").addTitle("Ordering value for list").domain(Element).range(XSD.nonNegativeInteger);
Element.restriction(fact.fhir_cardinality_restriction(index.resource, XSD.nonNegativeInteger, 0, 1));
// References have an optional link
FHIRResource link = fact.fhir_objectProperty("link").addTitle("URI of a reference");
Reference.restriction(fact.fhir_cardinality_restriction(link.resource, Resource.resource, 0, 1));
// XHTML is an XML Literal -- but it isn't recognized by OWL so we use string
FHIRResource NarrativeDiv = fact.fhir_dataProperty("Narrative.div");
fact.fhir_class("xhtml", "Primitive").restriction(fact.fhir_cardinality_restriction(value, fact.fhir_datatype(XSD.xstring).resource, 1, 1));
}
use of org.hl7.fhir.r5.model in project kindling by HL7.
the class ResourceDependencyGenerator method generate.
public XhtmlNode generate(ElementDefn e, String prefix) throws Exception {
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(dest, inlineGraphics, true);
RenderMode mode = RenderMode.RESOURCE;
TableModel model = initTable(gen, prefix, mode == RenderMode.LOGICAL, e.getName());
model.getRows().add(genElement(e, gen, true, e.getName(), false, prefix, mode, true));
return gen.generate(model, prefix, 0, null);
}
use of org.hl7.fhir.r5.model in project kindling by HL7.
the class ResourceTableGenerator method generate.
public XhtmlNode generate(ResourceDefn r, String prefix, boolean isActive) throws Exception {
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(dest, inlineGraphics, true);
ElementDefn e = r.getRoot();
RenderMode mode = e.typeCode().equals("Logical") && hasLogicalMapping(e) ? RenderMode.LOGICAL : RenderMode.RESOURCE;
TableModel model = gen.initNormalTable(prefix, mode == RenderMode.LOGICAL, true, r.getName(), isActive);
model.getRows().add(genElement(e, gen, true, e.getName(), false, prefix, mode, true, r.getStatus(), r.isAbstract(), r.isInterface()));
return gen.generate(model, prefix, 0, null);
}
use of org.hl7.fhir.r5.model in project kindling by HL7.
the class DataTypeTableGenerator method generate.
public XhtmlNode generate(ElementDefn e, Set<String> outputTracker, boolean isActive) throws Exception {
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(dest, inlineGraphics, false);
TableModel model = gen.initNormalTable("", false, true, e.getName(), isActive);
model.getRows().add(genElement(e, gen, false, e.getName(), false, "", RenderMode.DATATYPE, true, e.getStandardsStatus(), e.isAbstractType(), false));
return gen.generate(model, "", 0, outputTracker);
}
use of org.hl7.fhir.r5.model in project hl7v2-fhir-converter by LinuxForHealth.
the class Hl7DocumentReferenceFHIRConversionTest method doc_ref_status_test.
@ParameterizedTest
@ValueSource(strings = { "MDM^T02", "MDM^T06" })
void doc_ref_status_test(String segment) {
// Check TXA.19
// TXA.19 value maps to status; OBR.25 is ignored
String documentReferenceMessage = "MSH|^~\\&|HL7Soup|Instance1|MCM|Instance2|200911021022|Security|" + segment + "^MDM_T02|64322|P|2.6|123|456|ER|AL|USA|ASCII|en|2.6|56789^NID^UID|MCM||||\n" + "PID|1||000054321^^^MRN|||||||||||||M|CAT|||||N\n" + "PV1|1|I||||||||||||||||||||||||||||||||||||||||||\n" + "ORC|NW|||PGN001|SC|D|1|||MS|MS|||||\n" + "OBR|1||||||20170825010500|||||||||||||002|||||F||||||||\n" + "TXA|1||TEXT||||201801180346||<PHYSID1>||||||||PA||OB|||<PHYSID2>||\n" + "OBX|1|SN|||||||||X";
DocumentReference report = ResourceUtils.getDocumentReference(ftv, documentReferenceMessage);
org.hl7.fhir.r4.model.Enumerations.DocumentReferenceStatus status = report.getStatus();
// TXA.19
assertThat(status.toCode()).isEqualTo("superseded");
assertThat(status.getSystem()).isEqualTo("http://hl7.org/fhir/document-reference-status");
// Check OBR.25 as fallback
// TXA.19 value is empty so OBR.25 is used
documentReferenceMessage = "MSH|^~\\&|HL7Soup|Instance1|MCM|Instance2|200911021022|Security|" + segment + "^MDM_T02|64322|P|2.6|123|456|ER|AL|USA|ASCII|en|2.6|56789^NID^UID|MCM||||\n" + "PID|1||000054321^^^MRN|||||||||||||M|CAT|||||N\n" + "PV1|1|I||||||||||||||||||||||||||||||||||||||||||\n" + "ORC|NW|||PGN001|SC|D|1|||MS|MS\n" + "OBR|1||||||20170825010500|||||||||||||002|||||X\n" + "TXA|1||TEXT||||201801180346||<PHYSID1>||||||||PA|||||<PHYSID2>\n" + "OBX|1|SN|||||||||X";
report = ResourceUtils.getDocumentReference(ftv, documentReferenceMessage);
status = report.getStatus();
// OBR.25
assertThat(status.toCode()).isEqualTo("entered-in-error");
assertThat(status.getSystem()).isEqualTo("http://hl7.org/fhir/document-reference-status");
// Check default value case
// TXA.19 and OBR.25 values are empty so should fallback to "current"
documentReferenceMessage = "MSH|^~\\&|HL7Soup|Instance1|MCM|Instance2|200911021022|Security|" + segment + "^MDM_T02|64322|P|2.6|123|456|ER|AL|USA|ASCII|en|2.6|56789^NID^UID|MCM||||\n" + "PID|1||000054321^^^MRN|||||||||||||M|CAT|||||N\n" + "PV1|1|I||||||||||||||||||||||||||||||||||||||||||\n" + "ORC|NW|||PGN001|SC|D|1|||MS|MS|||||\n" + "OBR|1||||||20170825010500|||||||||||||002\n" + "TXA|1||TEXT||||201801180346||<PHYSID1>||||||||PA\n" + "OBX|1|SN|||||||||X";
report = ResourceUtils.getDocumentReference(ftv, documentReferenceMessage);
status = report.getStatus();
// default value
assertThat(status.toCode()).isEqualTo("current");
assertThat(status.getSystem()).isEqualTo("http://hl7.org/fhir/document-reference-status");
}
Aggregations