use of org.hl7.fhir.r4.model.Patient in project beneficiary-fhir-data by CMSgov.
the class PartDEventTransformerV2Test method shouldHavePtntRsdncCdSupInfo.
@Test
public void shouldHavePtntRsdncCdSupInfo() {
SupportingInformationComponent sic = TransformerTestUtilsV2.findSupportingInfoByCode("https://bluebutton.cms.gov/resources/variables/ptnt_rsdnc_cd", eob.getSupportingInfo());
SupportingInformationComponent compare = TransformerTestUtilsV2.createSupportingInfo(// We don't care what the sequence number is here
sic.getSequence(), // Category
Arrays.asList(new Coding("http://terminology.hl7.org/CodeSystem/claiminformationcategory", "info", "Information"), new Coding("https://bluebutton.cms.gov/resources/codesystem/information", "https://bluebutton.cms.gov/resources/variables/ptnt_rsdnc_cd", "Patient Residence Code")), // Code
new Coding("https://bluebutton.cms.gov/resources/variables/ptnt_rsdnc_cd", "02", "Skilled Nursing Facility"));
assertTrue(compare.equalsDeep(sic));
}
use of org.hl7.fhir.r4.model.Patient in project beneficiary-fhir-data by CMSgov.
the class PartDEventTransformerV2Test method shouldHaveLineItemAdjudicationPlroAmt.
@Test
public void shouldHaveLineItemAdjudicationPlroAmt() {
AdjudicationComponent adjudication = TransformerTestUtilsV2.findAdjudicationByCategory("https://bluebutton.cms.gov/resources/variables/plro_amt", eob.getItemFirstRep().getAdjudication());
AdjudicationComponent compare = new AdjudicationComponent().setCategory(new CodeableConcept().setCoding(Arrays.asList(new Coding("http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudication", "priorpayerpaid", "Prior payer paid"), new Coding("https://bluebutton.cms.gov/resources/codesystem/adjudication", "https://bluebutton.cms.gov/resources/variables/plro_amt", "Reduction in patient liability due to payments by other payers (PLRO)")))).setAmount(new Money().setValue(42.42).setCurrency(TransformerConstants.CODED_MONEY_USD));
assertTrue(compare.equalsDeep(adjudication));
}
use of org.hl7.fhir.r4.model.Patient in project kindling by HL7.
the class PageProcessor method generateToc.
private String generateToc() throws Exception {
// return breadCrumbManager.makeToc();
List<String> entries = new ArrayList<String>();
entries.addAll(toc.keySet());
Collections.sort(entries, new SectionSorter());
Set<String> pages = new HashSet<String>();
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(folders.dstDir, false, true);
TableModel model = gen.new TableModel("toc", true);
model.getTitles().add(gen.new Title(null, model.getDocoRef(), "Table of Contents", "Table of Contents", null, 0));
Deque<TocItem> stack = new ArrayDeque<TocItem>();
for (String s : entries) {
TocEntry t = toc.get(s);
if (!t.isIg() && !s.startsWith("?")) {
String nd = s;
while (nd.endsWith(".0")) nd = nd.substring(0, nd.length() - 2);
int d = Utilities.charCount(nd, '.');
if (d < 4 && !pages.contains(t.getLink())) {
String np = getNormativePackageForPage(t.getLink());
pages.add(t.getLink());
while (!stack.isEmpty() && stack.getFirst().depth >= d) stack.pop();
Row row = gen.new Row();
row.setIcon("icon_page.gif", null);
String td = t.getText();
if (!stack.isEmpty()) {
if (td.startsWith(stack.getFirst().entry.getText() + " - "))
td = td.substring(stack.getFirst().entry.getText().length() + 3);
else if (td.startsWith(stack.getFirst().entry.getText()))
td = td.substring(stack.getFirst().entry.getText().length());
}
Cell cell = gen.new Cell(null, t.getLink(), nd + " " + td, t.getText() + " ", null);
row.getCells().add(cell);
if (np != null) {
cell.addPiece(gen.new Piece(null, " ", null));
cell.addPiece(gen.new Piece("versions.html#std-process", "basic".equals(np) ? "(Normative)" : "(Normative / " + Utilities.capitalize(np) + ")", null).addStyle("color: #008000"));
if (np.equals("infrastructure"))
row.setIcon("icon_page_n_i.gif", null);
else if (np.equals("conformance"))
row.setIcon("icon_page_n_c.gif", null);
else if (np.equals("patient"))
row.setIcon("icon_page_n_p.gif", null);
else if (np.equals("observation"))
row.setIcon("icon_page_n_o.gif", null);
else
row.setIcon("icon_page_n.gif", null);
} else {
cell.addPiece(gen.new Piece(null, " ", null));
cell.addPiece(gen.new Piece("versions.html#std-process", "(Trial Use)", null).addStyle("color: #b3b3b3"));
}
if (stack.isEmpty())
model.getRows().add(row);
else
stack.getFirst().row.getSubRows().add(row);
stack.push(new TocItem(t, row, d));
}
}
}
return new XhtmlComposer(XhtmlComposer.HTML).compose(gen.generate(model, "", 0, null));
}
use of org.hl7.fhir.r4.model.Patient in project kindling by HL7.
the class PageProcessor method compResourceMap.
private String compResourceMap(String name) throws Exception {
String n = name.split("\\-")[1];
StringBuilder in = new StringBuilder();
StringBuilder out = new StringBuilder();
Map<ResourceDefn, String> map = definitions.getCompartmentByName(n).getResources();
for (String rn : definitions.sortedResourceNames()) {
ResourceDefn rd = definitions.getResourceByName(rn);
String rules = map.get(rd);
if (Utilities.noString(rules)) {
out.append(" <li><a href=\"").append(rd.getName().toLowerCase()).append(".html\">").append(rd.getName()).append("</a></li>\r\n");
} else if (!rules.equals("{def}")) {
in.append(" <tr><td><a href=\"").append(rd.getName().toLowerCase()).append(".html\">").append(rd.getName()).append("</a></td><td>").append(rules.replace("|", "or")).append("</td></tr>\r\n");
}
}
return "<p>\r\nThe following resources may be in this compartment:\r\n</p>\r\n" + "<table class=\"grid\">\r\n" + " <tr><td><b>Resource</b></td><td><b>Inclusion Criteria</b></td></tr>\r\n" + in.toString() + "</table>\r\n" + "<p>\r\nA resource is in this compartment if the nominated search parameter (or chain) refers to the patient resource that defines the compartment.\r\n</p>\r\n" + "<p>\r\n\r\n</p>\r\n" + "<p>\r\nThe following resources are never in this compartment:\r\n</p>\r\n" + "<ul>\r\n" + out.toString() + "</ul>\r\n";
}
use of org.hl7.fhir.r4.model.Patient in project kindling by HL7.
the class PatternFinder method generateReport.
public String generateReport() throws FHIRException {
StringBuilder output = new StringBuilder();
Map<String, List<ReferenceElement>> set = new HashMap<>();
for (ReferenceElement e : list) {
String n = sortRefs(e.focus);
if (!set.containsKey(n))
set.put(n, new ArrayList<>());
set.get(n).add(e);
}
List<String> sorted = new ArrayList<>();
for (String n : set.keySet()) sorted.add(n);
Collections.sort(sorted);
output.append("<p>Participation type Patterns</p>\r\n");
output.append("<table class=\"grid\">\r\n");
// <b>RIM Classes</b>
output.append("<tr><td><b>Resources</b></td><td><b>Pattern</b> (or candidates)</td><td><b>Locations</b></td></tr>\r\n");
for (String s : sorted) {
if (s.contains(",") && (s.contains("Patient") || s.contains("Practitioner") || s.contains("Organization"))) {
addPatternToTable(s, set.get(s), output);
}
}
output.append("</table>\r\n");
output.append("<p>Other Patterns</p>\r\n");
output.append("<table class=\"grid\">\r\n");
output.append("<tr><td><b>Resources</b></td><td><b>Pattern</b> (or candidates)</td><td><b>Locations</b></td></tr>\r\n");
for (String s : sorted) if (s.contains(",") && !(s.contains("Patient") || s.contains("Practitioner") || s.contains("Organization")))
addPatternToTable(s, set.get(s), output);
output.append("</table>\r\n");
return output.toString();
}
Aggregations