use of org.hl7.fhir.dstu2.model.CodeType in project gpconnect-demonstrator by nhsconnect.
the class AppointmentResourceProvider method appointmentDetailToAppointmentResourceConverter.
/**
* AppointmentDetail to fhir resource Appointment
*
* @param appointmentDetail
* @return Appointment Resource
*/
private Appointment appointmentDetailToAppointmentResourceConverter(AppointmentDetail appointmentDetail) {
Appointment appointment = new Appointment();
String appointmentId = String.valueOf(appointmentDetail.getId());
String versionId = String.valueOf(appointmentDetail.getLastUpdated().getTime());
String resourceType = appointment.getResourceType().toString();
IdType id = new IdType(resourceType, appointmentId, versionId);
appointment.setId(id);
appointment.getMeta().setVersionId(versionId);
appointment.getMeta().setLastUpdated(appointmentDetail.getLastUpdated());
appointment.getMeta().addProfile(SystemURL.SD_GPC_APPOINTMENT);
Extension extension = new Extension(SystemURL.SD_EXTENSION_GPC_APPOINTMENT_CANCELLATION_REASON, new StringType(appointmentDetail.getCancellationReason()));
appointment.addExtension(extension);
// #157 derive delivery channel from slot
List<Long> sids = appointmentDetail.getSlotIds();
ScheduleDetail scheduleDetail = null;
if (sids.size() > 0) {
// get the first slot but it should not matter because for multi slot appts the deliveryChannel is always the same
SlotDetail slotDetail = slotSearch.findSlotByID(sids.get(0));
String deliveryChannel = slotDetail.getDeliveryChannelCode();
if (deliveryChannel != null && !deliveryChannel.trim().isEmpty()) {
Extension deliveryChannelExtension = new Extension(SystemURL.SD_EXTENSION_GPC_DELIVERY_CHANNEL, new CodeType(deliveryChannel));
appointment.addExtension(deliveryChannelExtension);
}
scheduleDetail = scheduleSearch.findScheduleByID(slotDetail.getScheduleReference());
}
// practitioner role extension here
// lookup the practitioner
Long practitionerID = appointmentDetail.getPractitionerId();
if (practitionerID != null) {
// #195 we need to get this detail from the schedule not the practitioner table
if (scheduleDetail != null) {
Coding roleCoding = new Coding(SystemURL.VS_GPC_PRACTITIONER_ROLE, scheduleDetail.getPractitionerRoleCode(), scheduleDetail.getPractitionerRoleDisplay());
Extension practitionerRoleExtension = new Extension(SystemURL.SD_EXTENSION_GPC_PRACTITIONER_ROLE, new CodeableConcept().addCoding(roleCoding));
appointment.addExtension(practitionerRoleExtension);
}
}
switch(appointmentDetail.getStatus().toLowerCase(Locale.UK)) {
case "pending":
appointment.setStatus(AppointmentStatus.PENDING);
break;
case "booked":
appointment.setStatus(AppointmentStatus.BOOKED);
break;
case "arrived":
appointment.setStatus(AppointmentStatus.ARRIVED);
break;
case "fulfilled":
appointment.setStatus(AppointmentStatus.FULFILLED);
break;
case "cancelled":
appointment.setStatus(AppointmentStatus.CANCELLED);
break;
case "noshow":
appointment.setStatus(AppointmentStatus.NOSHOW);
break;
default:
appointment.setStatus(AppointmentStatus.PENDING);
break;
}
appointment.setStart(appointmentDetail.getStartDateTime());
appointment.setEnd(appointmentDetail.getEndDateTime());
// #218 Date time formats
appointment.getStartElement().setPrecision(TemporalPrecisionEnum.SECOND);
appointment.getEndElement().setPrecision(TemporalPrecisionEnum.SECOND);
List<Reference> slotResources = new ArrayList<>();
for (Long slotId : appointmentDetail.getSlotIds()) {
slotResources.add(new Reference("Slot/" + slotId));
}
appointment.setSlot(slotResources);
if (appointmentDetail.getPriority() != null) {
appointment.setPriority(appointmentDetail.getPriority());
}
appointment.setComment(appointmentDetail.getComment());
appointment.setDescription(appointmentDetail.getDescription());
appointment.addParticipant().setActor(new Reference("Patient/" + appointmentDetail.getPatientId())).setStatus(ParticipationStatus.ACCEPTED);
appointment.addParticipant().setActor(new Reference("Location/" + appointmentDetail.getLocationId())).setStatus(ParticipationStatus.ACCEPTED);
if (null != appointmentDetail.getPractitionerId()) {
appointment.addParticipant().setActor(new Reference("Practitioner/" + appointmentDetail.getPractitionerId())).setStatus(ParticipationStatus.ACCEPTED);
}
if (null != appointmentDetail.getCreated()) {
appointment.setCreated(appointmentDetail.getCreated());
}
if (null != appointmentDetail.getBookingOrganization()) {
// add extension with reference to contained item
String reference = "#1";
Reference orgRef = new Reference(reference);
Extension bookingOrgExt = new Extension(SystemURL.SD_CC_APPOINTMENT_BOOKINGORG, orgRef);
appointment.addExtension(bookingOrgExt);
BookingOrgDetail bookingOrgDetail = appointmentDetail.getBookingOrganization();
Organization bookingOrg = new Organization();
bookingOrg.setId(reference);
bookingOrg.getNameElement().setValue(bookingOrgDetail.getName());
// #198 org phone now persists usetype and system
ContactPoint orgTelecom = bookingOrg.getTelecomFirstRep();
orgTelecom.setValue(bookingOrgDetail.getTelephone());
try {
orgTelecom.setSystem(ContactPointSystem.fromCode(bookingOrgDetail.getSystem().toLowerCase()));
if (bookingOrgDetail.getUsetype() != null && !bookingOrgDetail.getUsetype().trim().isEmpty()) {
orgTelecom.setUse(ContactPointUse.fromCode(bookingOrgDetail.getUsetype().toLowerCase()));
}
} catch (FHIRException ex) {
// Logger.getLogger(AppointmentResourceProvider.class.getName()).log(Level.SEVERE, null, ex);
}
bookingOrg.getMeta().addProfile(SystemURL.SD_GPC_ORGANIZATION);
if (null != bookingOrgDetail.getOrgCode()) {
bookingOrg.getIdentifierFirstRep().setSystem(SystemURL.ID_ODS_ORGANIZATION_CODE).setValue(bookingOrgDetail.getOrgCode());
}
// add contained booking organization resource
appointment.getContained().add(bookingOrg);
}
// if bookingOrganization
appointment.setMinutesDuration(appointmentDetail.getMinutesDuration());
// 1.2.7 set service category from schedule type description
appointment.setServiceCategory(new CodeableConcept().setText(scheduleDetail.getTypeDescription()));
// 1.2.7 set service type from slot type description
appointment.addServiceType(new CodeableConcept().setText(slotSearch.findSlotByID(sids.get(0)).getTypeDisply()));
return appointment;
}
use of org.hl7.fhir.dstu2.model.CodeType in project gpconnect-demonstrator by nhsconnect.
the class SlotResourceProvider method slotDetailToSlotResourceConverter.
private Slot slotDetailToSlotResourceConverter(SlotDetail slotDetail) {
Slot slot = new Slot();
Date lastUpdated = slotDetail.getLastUpdated() == null ? new Date() : slotDetail.getLastUpdated();
String resourceId = String.valueOf(slotDetail.getId());
String versionId = String.valueOf(lastUpdated.getTime());
IdType id = new IdType(resourceId);
slot.setId(id);
slot.getMeta().setVersionId(versionId);
slot.getMeta().addProfile(SystemURL.SD_GPC_SLOT);
slot.setSchedule(new Reference("Schedule/" + slotDetail.getScheduleReference()));
slot.setStart(slotDetail.getStartDateTime());
slot.setEnd(slotDetail.getEndDateTime());
// #218 Date time formats
slot.getStartElement().setPrecision(TemporalPrecisionEnum.SECOND);
slot.getEndElement().setPrecision(TemporalPrecisionEnum.SECOND);
switch(slotDetail.getFreeBusyType().toLowerCase(Locale.UK)) {
case "free":
slot.setStatus(SlotStatus.FREE);
break;
default:
slot.setStatus(SlotStatus.BUSY);
break;
}
String deliveryChannelCode = slotDetail.getDeliveryChannelCode();
ArrayList<Extension> al = new ArrayList<>();
if (deliveryChannelCode != null && !deliveryChannelCode.trim().isEmpty()) {
Extension deliveryChannelExtension = new Extension(SystemURL.SD_EXTENSION_GPC_DELIVERY_CHANNEL, new CodeType(deliveryChannelCode));
al.add(deliveryChannelExtension);
}
slot.setExtension(al);
// 1.2.7 add slot type description as service type
slot.addServiceType(new CodeableConcept().setText(slotDetail.getTypeDisply()));
return slot;
}
use of org.hl7.fhir.dstu2.model.CodeType in project gpconnect-demonstrator by nhsconnect.
the class WarningCodeExtHelper method addWarningCodeExtensions.
/**
* confidential items are per record but the other two are global values per
* patient
*
* @param warningCodes
* @param list
* @param patientRepository
* @param medicationStatementRepository
* @param structuredAllergySearch
*/
public static void addWarningCodeExtensions(Set<String> warningCodes, ListResource list, PatientRepository patientRepository, MedicationStatementRepository medicationStatementRepository, StructuredAllergySearch structuredAllergySearch) {
String NHS = list.getSubject().getIdentifier().getValue();
PatientEntity patientEntity = patientRepository.findByNhsNumber(NHS);
List<MedicationStatementEntity> medicationStatements = medicationStatementRepository.findByPatientId(patientEntity.getId());
for (MedicationStatementEntity medicationStatement : medicationStatements) {
setFlags(medicationStatement.getWarningCode());
}
List<StructuredAllergyIntoleranceEntity> allergies = structuredAllergySearch.getAllergyIntollerence(NHS);
for (StructuredAllergyIntoleranceEntity allergy : allergies) {
setFlags(allergy.getWarningCode());
}
// check medication_statements for either of the global flags
if (dataInTransit) {
warningCodes.add(DATA_IN_TRANSIT);
}
if (dataAwaitingFiling) {
warningCodes.add(DATA_AWAITING_FILING);
}
StringBuilder sb = new StringBuilder();
warningCodes.forEach(warningCode -> {
if (warningCode != null) {
String warningCodeDisplay = "";
Annotation annotation = new Annotation();
switch(warningCode) {
case CONFIDENTIAL_ITEMS:
warningCodeDisplay = "Confidential Items";
// #266
annotation.setText(CONFIDENTIAL_ITEMS_NOTE);
// list.addNote(annotation);
sb.append("\r\n").append(annotation.getText());
break;
case DATA_IN_TRANSIT:
warningCodeDisplay = "Data in Transit";
Calendar cal = new GregorianCalendar();
Date now = new Date();
cal.setTime(now);
// a week before now
cal.add(Calendar.DAY_OF_YEAR, -7);
// #266
annotation.setText(String.format(DATA_IN_TRANSIT_NOTE, DATE_FORMAT.format(cal.getTime())));
// list.addNote(annotation);
sb.append("\r\n").append(annotation.getText());
break;
case DATA_AWAITING_FILING:
warningCodeDisplay = "Data Awaiting Filing";
// #266
annotation.setText(DATA_AWAITING_FILING_NOTE);
// list.addNote(annotation);
sb.append("\r\n").append(annotation.getText());
break;
default:
break;
}
// #182
Extension warningExt = new Extension(SystemURL.WARNING_CODE, new CodeType(warningCode));
list.addExtension(warningExt);
}
});
// cardinality of note 0..1 #266
if (sb.length() > 0) {
Annotation annotation = null;
if (list.getNote().size() > 0) {
annotation = list.getNote().get(0);
annotation.setText(annotation.getText());
annotation.setText(annotation.getText() + sb.toString());
} else {
annotation = new Annotation();
list.addNote(annotation);
annotation.setText(sb.toString().replaceFirst("^\r\n", ""));
}
}
}
use of org.hl7.fhir.dstu2.model.CodeType in project kindling by HL7.
the class PageProcessor method processPageIncludes.
public String processPageIncludes(String file, String src, String type, Map<String, String> others, String pagePath, Resource resource, List<String> tabs, String crumbTitle, Object object, ImplementationGuideDefn ig, ResourceDefn rd, WorkGroup wg) throws Exception {
String workingTitle = null;
int level = ig == null ? file.contains(File.separator) ? 1 : 0 : ig.isCore() ? 0 : 1;
boolean even = false;
String name = file.substring(0, file.lastIndexOf("."));
String searchAdditions = "";
while (src.contains("<%") || src.contains("[%")) {
int i1 = src.indexOf("<%");
int i2 = i1 == -1 ? -1 : src.substring(i1).indexOf("%>") + i1;
if (i1 == -1) {
i1 = src.indexOf("[%");
i2 = i1 == -1 ? -1 : src.substring(i1).indexOf("%]") + i1;
}
String s1 = src.substring(0, i1);
String s2 = src.substring(i1 + 2, i2).trim();
String s3 = src.substring(i2 + 2);
String[] com = s2.split(" ");
if (s2.startsWith("!")) {
src = s1 + s3;
} else if (com.length == 4 && com[0].equals("edt")) {
if (tabs != null)
tabs.add("tabs-" + com[1]);
src = s1 + orgDT(com[1], xmlForDt(com[1], com[2]), treeForDt(com[1]), umlForDt(com[1], com[3]), umlForDt(com[1], com[3] + "b"), profileRef(com[1]), tsForDt(com[1]), jsonForDt(com[1], com[2]), ttlForDt(com[1], com[2]), diffForDt(com[1], com[2])) + s3;
} else if (com.length == 3 && com[0].equals("dt")) {
if (tabs != null)
tabs.add("tabs-" + com[1]);
src = s1 + orgDT(com[1], xmlForDt(com[1], file), treeForDt(com[1]), umlForDt(com[1], com[2]), umlForDt(com[1], com[2] + "b"), profileRef(com[1]), tsForDt(com[1]), jsonForDt(com[1], file), ttlForDt(com[1], file), diffForDt(com[1], file)) + s3;
} else if (com.length == 3 && com[0].equals("adt")) {
if (tabs != null)
tabs.add("tabs-" + com[1]);
src = s1 + orgADT(com[1], treeForDt(com[1]), umlForDt(com[1], com[2]), umlForDt(com[1], com[2] + "b"), diffForDt(com[1], file)) + s3;
} else if (com.length == 2 && com[0].equals("dt.constraints"))
src = s1 + genConstraints(com[1], genlevel(level)) + s3;
else if (com.length == 2 && com[0].equals("dt.restrictions"))
src = s1 + genRestrictions(com[1]) + s3;
else if (com.length == 2 && com[0].equals("dictionary"))
src = s1 + dictForDt(com[1]) + s3;
else if (com[0].equals("othertabs"))
src = s1 + genOtherTabs(com[1], tabs) + s3;
else if (com[0].equals("dtheader"))
src = s1 + dtHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("atheader"))
src = s1 + atHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("mdtheader"))
src = s1 + mdtHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("edheader"))
src = s1 + edHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("elheader"))
src = s1 + elHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("belheader"))
src = s1 + belHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("extheader"))
src = s1 + extHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("mmheader"))
src = s1 + mmHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("cdheader"))
src = s1 + cdHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("diheader"))
src = s1 + diHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("ctheader"))
src = s1 + ctHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("ucheader"))
src = s1 + ucHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("rrheader"))
src = s1 + rrHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("drheader"))
src = s1 + drHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("adheader"))
src = s1 + adHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("pdheader"))
src = s1 + pdHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("tdheader"))
src = s1 + tdHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("narrheader"))
src = s1 + narrHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("statheader"))
src = s1 + statHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("ordistheader"))
src = s1 + ordistHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("profilesheader"))
src = s1 + profilesHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("refheader"))
src = s1 + refHeader(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("resourcesheader"))
src = s1 + resourcesHeader(com.length > 1 ? com[1] : null) + s3;
else // src = s1+resourcesHeader(name, com.length > 1 ? com[1] : null)+s3;
if (com[0].equals("txheader"))
src = s1 + txHeader(name, com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("sct-vs-list"))
src = s1 + getSnomedCTVsList() + s3;
else if (com[0].equals("sct-concept-list"))
src = s1 + getSnomedCTConceptList() + s3;
else if (com[0].equals("txheader0"))
src = s1 + (level > 0 ? "" : txHeader(name, com.length > 1 ? com[1] : null)) + s3;
else if (com[0].equals("fmtheader"))
src = s1 + fmtHeader(name, com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("cmpheader"))
src = s1 + cmpHeader(name, com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("dictheader"))
src = s1 + dictHeader(((Bundle) resource).getId().toLowerCase(), com.length > 1 ? com[1] : "") + s3;
else // src = s1+atomHeader(name, com.length > 1 ? com[1] : null)+s3;
if (com[0].equals("codelist"))
src = s1 + codelist((CodeSystem) resource, com.length > 1 ? com[1] : null, false, true, file) + s3;
else if (com[0].equals("codelist-nh"))
src = s1 + codelist((CodeSystem) resource, com.length > 1 ? com[1] : null, false, false, file) + s3;
else if (com[0].equals("linkcodelist"))
src = s1 + codelist((CodeSystem) resource, com.length > 1 ? com[1] : null, true, false, file) + s3;
else if (com[0].equals("toc"))
src = s1 + generateToc() + s3;
else if (com[0].equals("codetoc"))
src = s1 + codetoc(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("resheader")) {
if (resource != null && resource instanceof StructureDefinition)
src = s1 + resHeader(((StructureDefinition) resource).getId().toLowerCase(), ((StructureDefinition) resource).getId(), com.length > 1 ? com[1] : null) + s3;
else if (rd != null) {
src = s1 + resHeader(rd.getName().toLowerCase(), rd.getName(), com.length > 1 ? com[1] : null) + s3;
} else
src = s1 + s3;
} else if (com[0].equals("aresheader"))
src = s1 + abstractResHeader("document", "Document", com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("onthispage"))
src = s1 + onThisPage(s2.substring(com[0].length() + 1)) + s3;
else if (com[0].equals("maponthispage"))
src = s1 + mapOnThisPage(null) + s3;
else if (com[0].equals("res-category")) {
even = false;
src = s1 + resCategory(s2.substring(com[0].length() + 1)) + s3;
} else if (com[0].equals("res-item")) {
even = !even;
src = s1 + resItem(com[1], even) + s3;
} else if (com[0].equals("resdesc")) {
src = s1 + resDesc(com[1]) + s3;
} else if (com[0].equals("rescat")) {
src = s1 + resCat(com.length == 1 ? null : s2.substring(7)) + s3;
} else if (com[0].equals("svg"))
src = s1 + svgs.get(com[1]) + s3;
else if (com[0].equals("diagram"))
src = s1 + new SvgGenerator(this, genlevel(level), null, false, file.contains("datatypes"), version).generate(folders.srcDir + com[1], com[2]) + s3;
else if (com[0].equals("file")) {
if (new File(folders.templateDir + com[1] + ".html").exists()) {
src = s1 + TextFile.fileToString(folders.templateDir + com[1] + ".html") + s3;
} else {
src = s1 + TextFile.fileToString(folders.srcDir + com[1] + ".html") + s3;
}
} else if (com[0].equals("v2xref"))
src = s1 + xreferencesForV2(name, com[1]) + s3;
else if (com[0].equals("vs-warning"))
src = s1 + vsWarning((ValueSet) resource) + s3;
else if (com[0].equals("res-status-special"))
src = s1 + vsSpecialStatus((DomainResource) resource) + s3;
else if (com[0].equals("conceptmaplistv2"))
src = s1 + conceptmaplist("http://terminology.hl7.org/ValueSet/v2-" + (name.contains("|") ? name.substring(0, name.indexOf("|")) : name), com[1]) + s3;
else if (com[0].equals("conceptmaplistv3"))
src = s1 + conceptmaplist("http://terminology.hl7.org/ValueSet/v3-" + (name.contains("|") ? name.substring(0, name.indexOf("|")) : name), com[1]) + s3;
else if (com[0].equals("conceptmaplistvs")) {
ValueSet vs = (ValueSet) resource;
String ref;
if (vs == null) {
ref = "http://hl7.org/fhir/ValueSet/" + Utilities.fileTitle(file);
} else {
ref = vs.getUrl();
}
src = s1 + conceptmaplist(ref, com[1]) + s3;
} else if (com[0].equals("settitle")) {
workingTitle = s2.substring(9).replace("{", "<%").replace("}", "%>");
src = s1 + s3;
} else if (com[0].equals("igregistries")) {
src = s1 + igRegistryList(com[1], com[2]) + s3;
} else if (com[0].equals("dtmappings")) {
src = s1 + genDataTypeMappings(com[1]) + s3;
} else if (com[0].equals("dtusage")) {
src = s1 + genDataTypeUsage(com[1]) + s3;
} else if (com[0].equals("v3xref")) {
src = s1 + xreferencesForV3(name) + s3;
} else if (com[0].equals("setlevel")) {
level = Integer.parseInt(com[1]);
src = s1 + s3;
} else if (com[0].equals("w5")) {
src = s1 + genW5("true".equals(com[1])) + s3;
} else if (com[0].equals("res-ref-list")) {
src = s1 + genResRefList(com[1]) + s3;
} else if (com[0].equals("sclist")) {
src = s1 + genScList(com[1]) + s3;
} else if (com[0].equals("xcm")) {
src = s1 + getXcm(com[1]) + s3;
} else if (com[0].equals("xcmchk")) {
src = s1 + getXcmChk(com[1]) + s3;
} else if (com[0].equals("sstatus")) {
if (com.length == 1) {
StandardsStatus ss = ToolingExtensions.getStandardsStatus((DomainResource) resource);
if (ss == null)
ss = StandardsStatus.INFORMATIVE;
if (ss == StandardsStatus.NORMATIVE && ToolingExtensions.hasExtension((DomainResource) resource, ToolingExtensions.EXT_NORMATIVE_VERSION))
src = s1 + "<a href=\"" + genlevel(level) + "versions.html#std-process\">" + ss.toDisplay() + "</a> (from v" + ToolingExtensions.readStringExtension((DomainResource) resource, ToolingExtensions.EXT_NORMATIVE_VERSION) + ")" + s3;
else
src = s1 + "<a href=\"" + genlevel(level) + "versions.html#std-process\">" + ss.toDisplay() + "</a>" + s3;
} else
src = s1 + getStandardsStatus(com[1]) + s3;
} else if (com[0].equals("wg")) {
src = s1 + getWgLink(file, wg == null && com.length > 1 ? wg(com[1]) : wg) + s3;
} else if (com[0].equals("wgt")) {
src = s1 + getWgTitle(wg == null && com.length > 1 ? wg(com[1]) : wg) + s3;
} else if (com[0].equals("ig.registry")) {
src = s1 + buildIgRegistry(ig, com[1]) + s3;
} else if (com[0].equals("search-link")) {
src = s1 + searchLink(s2) + s3;
} else if (com[0].equals("search-footer")) {
src = s1 + searchFooter(level) + s3;
} else if (com[0].equals("search-header")) {
src = s1 + searchHeader(level) + s3;
} else if (com[0].equals("profileheader")) {
src = s1 + profileHeader(((StructureDefinition) resource).getId().toLowerCase(), com[1], hasExamples((StructureDefinition) resource, ig)) + s3;
} else if (com[0].equals("resource-table")) {
src = s1 + genResourceTable(definitions.getResourceByName(com[1]), genlevel(level)) + s3;
} else if (com[0].equals("dtextras")) {
src = s1 + produceDataTypeExtras(com[1], false) + s3;
} else if (com[0].equals("dtextensions")) {
src = s1 + produceDataTypeExtras(com[1], true) + s3;
} else if (com[0].equals("tx")) {
src = s1 + produceDataTypeTx(com[1]) + s3;
} else if (com[0].equals("extension-diff")) {
StructureDefinition ed = workerContext.fetchResource(StructureDefinition.class, com[1]);
src = s1 + generateExtensionTable(ed, "extension-" + com[1], "false", genlevel(level)) + s3;
} else if (com[0].equals("profile-diff")) {
ConstraintStructure p = definitions.findProfile(com[1]);
src = s1 + generateProfileStructureTable(p, true, com[1] + ".html", com[1], genlevel(level)) + s3;
} else if (com[0].equals("example")) {
String[] parts = com[1].split("\\/");
Example e = findExample(parts[0], parts[1]);
src = s1 + genExample(e, com.length > 2 ? Integer.parseInt(com[2]) : 0, genlevel(level)) + s3;
} else if (com[0].equals("r3r4transform")) {
src = s1 + dtR3R4Transform(com[1]) + s3;
} else if (com[0].equals("fmm-style")) {
String fmm = resource == null ? "N/A" : ToolingExtensions.readStringExtension((DomainResource) resource, ToolingExtensions.EXT_FMM_LEVEL);
StandardsStatus ss = ToolingExtensions.getStandardsStatus((DomainResource) resource);
src = s1 + fmmBarColorStyle(ss, fmm) + s3;
} else if (com[0].equals("fmm")) {
String fmm = resource == null || !(resource instanceof CanonicalResource) ? getFmm(com[1], false) : ToolingExtensions.readStringExtension((DomainResource) resource, ToolingExtensions.EXT_FMM_LEVEL);
StandardsStatus ss = ToolingExtensions.getStandardsStatus((DomainResource) resource);
if (StandardsStatus.EXTERNAL == ss)
src = s1 + getFmmFromlevel(genlevel(level), "N/A") + s3;
else if (StandardsStatus.NORMATIVE == ss)
src = s1 + getFmmFromlevel(genlevel(level), "<a href=\"" + genlevel(level) + "versions.html#std-process\">N</a>") + s3;
else
src = s1 + getFmmFromlevel(genlevel(level), fmm) + s3;
} else if (com[0].equals("fmmna")) {
String fmm = "N/A";
src = s1 + getFmmFromlevel(genlevel(level), fmm) + s3;
} else if (com[0].equals("mostlynormative")) {
String p = null;
String wt = workingTitle;
if (com.length >= 3) {
if (!com[2].equals("%check"))
p = com[2];
else if (StandardsStatus.NORMATIVE == ToolingExtensions.getStandardsStatus((DomainResource) resource)) {
p = resource.getUserString("ballot.package");
wt = ((CanonicalResource) resource).fhirType() + " " + ((CanonicalResource) resource).present();
}
}
src = s1 + (p == null ? "" : getMostlyNormativeNote(genlevel(level), p, com[1], wt, file)) + s3;
} else if (com[0].equals("mixednormative")) {
String p = null;
String wt = workingTitle;
if (com.length >= 3) {
if (!com[2].equals("%check"))
p = com[2];
else if (StandardsStatus.NORMATIVE == ToolingExtensions.getStandardsStatus((DomainResource) resource)) {
p = resource.getUserString("ballot.package");
wt = ((CanonicalResource) resource).fhirType() + " " + ((CanonicalResource) resource).present();
}
}
src = s1 + (p == null ? "" : getMixedNormativeNote(genlevel(level), p, com[1], wt, file)) + s3;
} else if (com[0].equals("normative")) {
String p = object instanceof Object ? rd.getNormativePackage() : null;
String wt = object instanceof Object ? rd.getName() + " Operation " + ((Operation) object).getName() : workingTitle;
if (com.length >= 3) {
if (!com[2].equals("%check"))
p = com[2];
else if (StandardsStatus.NORMATIVE == ToolingExtensions.getStandardsStatus((DomainResource) resource)) {
p = resource.getUserString("ballot.package");
wt = ((CanonicalResource) resource).fhirType() + " " + ((CanonicalResource) resource).present();
}
}
src = s1 + (p == null && com.length != 2 ? "" : getNormativeNote(genlevel(level), p, com[1], wt, file)) + s3;
} else if (com[0].equals("normative-op")) {
String p = rd.getNormativePackage();
String wt = rd.getName() + " Operation " + ((Operation) object).getName();
StandardsStatus st = ((Operation) object).getStandardsStatus();
if (st == null)
st = ToolingExtensions.getStandardsStatus((DomainResource) resource);
src = s1 + (st == StandardsStatus.NORMATIVE ? getNormativeNote(genlevel(level), p, com[1], wt, file) : "") + s3;
} else if (com[0].equals("fmmshort")) {
String fmm = resource == null || !(resource instanceof CanonicalResource) ? getFmm(com[1], true) : ToolingExtensions.readStringExtension((DomainResource) resource, ToolingExtensions.EXT_FMM_LEVEL);
String npr = resource == null || !(resource instanceof CanonicalResource) ? getNormativePackageRef(com[1]) : "";
src = s1 + getFmmShortFromlevel(genlevel(level), fmm) + npr + s3;
} else if (com[0].equals("normative-pages")) {
src = s1 + getNormativeList(genlevel(level), com[1]) + s3;
} else if (s2.startsWith("search-additions\r\n")) {
searchAdditions = s2.substring(16).trim();
src = s1 + s3;
} else if (com[0].equals("complinks")) {
src = s1 + (rd == null ? "" : getCompLinks(rd, com.length > 1 ? com[1] : null)) + s3;
} else if (com[0].equals("diff")) {
String p = com[1];
String pd = p.contains("#") ? p.substring(0, p.indexOf("#")) : p;
String t = s2.substring(com[0].length() + com[1].length() + 2);
src = s1 + "<a href=\"" + p + "\">" + t + "</a> <a href=\"http://services.w3.org/htmldiff?doc1=http%3A%2F%2Fhl7.org%2Ffhir%2F2018May%2F" + pd + "&doc2=http%3A%2F%2Fbuild.fhir.org%2F" + pd + "\" no-external=\"true\" style=\"border: 1px solid lightgrey; white-space: nowrap; background-color: #EDFDFE; padding: 2px 2px 2px 2px\">ΔB</a>" + s3;
} else if (com[0].equals("diffx")) {
String p1 = com[1];
String pd = p1.contains("#") ? p1.substring(0, p1.indexOf("#")) : p1;
String p2 = com[2];
String t = s2.substring(com[0].length() + com[1].length() + 2);
src = s1 + "<a href=\"" + p1 + "\">" + t + "</a> <a href=\"http://services.w3.org/htmldiff?doc1=http%3A%2F%2Fhl7.org%2Ffhir%2F2018May%2F" + p2 + "&doc2=http%3A%2F%2Fbuild.fhir.org%2F" + pd + "\" no-external=\"true\" style=\"border: 1px solid lightgrey; white-space: nowrap; background-color: #EDFDFE; padding: 2px 2px 2px 2px\">ΔB</a>" + s3;
} else if (com[0].equals("StandardsStatus")) {
src = s1 + getStandardsStatusNote(genlevel(level), com[1], com[2], com.length == 4 ? com[3] : null) + s3;
} else if (com[0].equals("circular-references")) {
src = s1 + buildCircularReferenceList(com[1].equals("null") ? null : Boolean.valueOf(com[1])) + s3;
} else if (com[0].equals("shortparameterlist")) {
src = s1 + buildShortParameterList(com[1]) + s3;
} else if (com[0].equals("op-example-link")) {
src = s1 + buildOpReferenceList(com[1]) + s3;
} else if (com[0].equals("pattern-impls")) {
src = s1 + buildPatternList(com[1]) + s3;
} else if (com[0].equals("diff-analysis")) {
if ("*".equals(com[1])) {
updateDiffEngineDefinitions();
src = s1 + diffEngine.getDiffAsHtml(this) + s3;
} else {
StructureDefinition sd = workerContext.fetchTypeDefinition(com[1]);
if (sd == null)
throw new Exception("diff-analysis not found: " + com[1]);
src = s1 + diffEngine.getDiffAsHtml(this, sd) + s3;
}
} else if (com.length != 1)
throw new Exception("Instruction <%" + s2 + "%> not understood parsing page " + file);
else if (com[0].equals("pageheader"))
src = s1 + pageHeader(name.toUpperCase().substring(0, 1) + name.substring(1)) + s3;
else if (com[0].equals("newheader"))
src = s1 + TextFile.fileToString(folders.srcDir + "newheader.html") + s3;
else if (com[0].equals("newheader1"))
src = s1 + TextFile.fileToString(folders.srcDir + "newheader1.html") + s3;
else if (com[0].equals("footer"))
src = s1 + TextFile.fileToString(folders.srcDir + "footer.html") + s3;
else if (com[0].equals("newfooter"))
src = s1 + TextFile.fileToString(folders.srcDir + "newfooter.html") + s3;
else if (com[0].equals("footer1"))
src = s1 + TextFile.fileToString(folders.srcDir + "footer1.html") + s3;
else if (com[0].equals("footer2"))
src = s1 + TextFile.fileToString(folders.srcDir + "footer2.html") + s3;
else if (com[0].equals("footer3"))
src = s1 + TextFile.fileToString(folders.srcDir + "footer3.html") + s3;
else if (com[0].equals("title"))
src = s1 + (workingTitle == null ? Utilities.escapeXml(name.toUpperCase().substring(0, 1) + name.substring(1)) : workingTitle) + s3;
else if (com[0].equals("xtitle"))
src = s1 + Utilities.escapeXml(name.toUpperCase().substring(0, 1) + name.substring(1)) + s3;
else if (com[0].equals("name"))
src = s1 + name + s3;
else if (com[0].equals("name.tail"))
src = s1 + fileTail(name) + s3;
else if (com[0].equals("piperesources"))
src = s1 + pipeResources() + s3;
else if (com[0].equals("enteredInErrorTable"))
src = s1 + enteredInErrorTable() + s3;
else if (com[0].equals("canonicalname"))
src = s1 + makeCanonical(name) + s3;
else if (com[0].equals("prettyname"))
src = s1 + makePretty(name) + s3;
else if (com[0].equals("jsonldname"))
src = s1 + makeJsonld(name) + s3;
else if (com[0].equals("version"))
src = s1 + version + s3;
else if (com[0].equals("gendate"))
src = s1 + Config.DATE_FORMAT().format(new Date()) + s3;
else if (com[0].equals("maindiv"))
src = s1 + "<div class=\"content\">" + s3;
else if (com[0].equals("/maindiv"))
src = s1 + "</div>" + s3;
else if (com[0].equals("mappings-table"))
src = s1 + genMappingsTable() + s3;
else if (com[0].equals("id"))
src = s1 + (name.contains("|") ? name.substring(0, name.indexOf("|")) : name) + s3;
else if (com[0].equals("ver"))
src = s1 + (name.contains("|") ? name.substring(name.indexOf("|") + 1) : "??") + s3;
else if (com[0].equals("events"))
src = s1 + getEventsTable(pagePath) + s3;
else if (com[0].equals("resourcecodes"))
src = s1 + genResCodes() + s3;
else if (com[0].equals("datatypecodes"))
src = s1 + genDTCodes() + s3;
else if (com[0].equals("allparams"))
src = s1 + allParamlist() + s3;
else // src = s1 + genBindingsTable() + s3;
if (com[0].equals("codeslist"))
src = s1 + genCodeSystemsTable() + s3;
else if (com[0].equals("valuesetslist"))
src = s1 + genValueSetsTable(ig) + s3;
else if (com[0].equals("namespacelist"))
src = s1 + genNSList() + s3;
else if (com[0].equals("extensionslist"))
src = s1 + genExtensionsTable() + s3;
else if (com[0].equals("igvaluesetslist"))
src = s1 + genIGValueSetsTable() + s3;
else if (com[0].equals("conceptmapslist"))
src = s1 + genConceptMapsTable() + s3;
else // src = s1 + genBindingTable(false) + s3;
if (com[0].equals("resimplall"))
src = s1 + genResImplList() + s3;
else if (com[0].equals("txurl"))
src = s1 + "http://hl7.org/fhir/" + Utilities.fileTitle(file) + s3;
else if (com[0].equals("vstxurl"))
src = s1 + "http://hl7.org/fhir/ValueSet/" + Utilities.fileTitle(file) + s3;
else if (com[0].equals("csurl")) {
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getUrl() + s3;
else {
CodeSystem cs = (CodeSystem) ((ValueSet) resource).getUserData("cs");
src = s1 + (cs == null ? "" : cs.getUrl()) + s3;
}
} else if (com[0].equals("vsurl")) {
if (resource == null)
src = s1 + s3;
else if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getUrl() + s3;
else
src = s1 + ((ValueSet) resource).getUrl() + s3;
} else if (com[0].equals("txdef"))
src = s1 + generateCodeDefinition(Utilities.fileTitle(file)) + s3;
else if (com[0].equals("vsdef"))
if (resource instanceof CodeSystem)
src = s1 + processMarkdown("vsdef", ((CodeSystem) resource).getDescription(), genlevel(level)) + s3;
else
src = s1 + processMarkdown("vsdef", ((ValueSet) resource).getDescription(), genlevel(level)) + s3;
else if (com[0].equals("txoid"))
src = s1 + generateOID((CodeSystem) resource) + s3;
else if (com[0].equals("vsoid"))
src = s1 + generateOID((ValueSet) resource) + s3;
else if (com[0].equals("txname"))
src = s1 + Utilities.fileTitle(file) + s3;
else if (com[0].equals("vsname"))
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).present() + s3;
else
src = s1 + ((ValueSet) resource).present() + s3;
else if (com[0].equals("vsnamed"))
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getName() + s3;
else
src = s1 + ((ValueSet) resource).getName() + s3;
else if (com[0].equals("vstitle"))
if (resource instanceof CodeSystem)
src = s1 + checkTitle(((CodeSystem) resource).getTitle()) + s3;
else
src = s1 + checkTitle(((ValueSet) resource).getTitle()) + s3;
else if (com[0].equals("vsver"))
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getVersion() + s3;
else
src = s1 + ((ValueSet) resource).getVersion() + s3;
else if (com[0].equals("vsref")) {
src = s1 + Utilities.fileTitle((String) resource.getUserData("filename")) + s3;
} else if (com[0].equals("vsdesc"))
src = s1 + (resource != null ? new XhtmlComposer(XhtmlComposer.HTML).compose(((ValueSet) resource).getText().getDiv()) : generateVSDesc(Utilities.fileTitle(file))) + s3;
else if (com[0].equals("txusage"))
src = s1 + generateValueSetUsage((ValueSet) resource, genlevel(level), true) + s3;
else if (com[0].equals("vsusage"))
src = s1 + generateValueSetUsage((ValueSet) resource, genlevel(level), true) + s3;
else if (com[0].equals("csusage"))
src = s1 + generateCSUsage((CodeSystem) resource, genlevel(level)) + s3;
else if (com[0].equals("vssummary"))
src = s1 + "todo" + s3;
else if (com[0].equals("compartmentlist"))
src = s1 + compartmentlist() + s3;
else if (com[0].equals("qa"))
src = s1 + qa.report(this, validationErrors) + s3;
else if (com[0].equals("comp-title"))
src = s1 + compTitle(name) + s3;
else if (com[0].equals("comp-name"))
src = s1 + compName(name) + s3;
else if (com[0].equals("comp-desc"))
src = s1 + compDesc(name) + s3;
else if (com[0].equals("comp-uri"))
src = s1 + compUri(name) + s3;
else if (com[0].equals("comp-identity"))
src = s1 + compIdentity(name) + s3;
else if (com[0].equals("comp-membership"))
src = s1 + compMembership(name) + s3;
else if (com[0].equals("comp-resources"))
src = s1 + compResourceMap(name) + s3;
else if (com[0].equals("breadcrumb"))
src = s1 + breadCrumbManager.make(name) + s3;
else if (com[0].equals("navlist"))
src = s1 + breadCrumbManager.navlist(name, genlevel(level)) + s3;
else if (com[0].equals("breadcrumblist")) {
if (object instanceof Operation)
src = s1 + ((ig == null || ig.isCore()) ? breadCrumbManager.makelist(rd.getName().toLowerCase(), type, genlevel(level), crumbTitle) : ig.makeList(name, type, genlevel(level), crumbTitle)) + s3;
else
src = s1 + ((ig == null || ig.isCore()) ? breadCrumbManager.makelist(name, type, genlevel(level), crumbTitle) : ig.makeList(name, type, genlevel(level), crumbTitle)) + s3;
} else if (com[0].equals("year"))
src = s1 + new SimpleDateFormat("yyyy").format(new Date()) + s3;
else if (com[0].equals("buildId"))
src = s1 + buildId + s3;
else if (com[0].equals("pub-type"))
src = s1 + publicationType + s3;
else if (com[0].equals("pub-notice"))
src = s1 + publicationNotice + s3;
else if (com[0].equals("vssource"))
if (resource instanceof CodeSystem)
src = s1 + csSource((CodeSystem) resource) + s3;
else
src = s1 + vsSource((ValueSet) resource) + s3;
else if (com[0].equals("vsxref"))
src = s1 + xreferencesForFhir(name) + s3;
else if (com[0].equals("vsexpansion"))
src = s1 + expandValueSet(Utilities.fileTitle(file), resource == null ? null : ((ValueSet) resource), genlevel(level)) + s3;
else if (com[0].equals("vscld"))
src = s1 + vsCLD(Utilities.fileTitle(file), resource == null ? null : ((ValueSet) resource), genlevel(level)) + s3;
else if (com[0].equals("cs-content"))
src = s1 + csContent(Utilities.fileTitle(file), ((CodeSystem) resource), genlevel(level)) + s3;
else if (com[0].equals("vsexpansionig"))
src = s1 + expandValueSetIG((ValueSet) resource, true) + s3;
else if (com[0].equals("level"))
src = s1 + genlevel(level) + s3;
else if (com[0].equals("archive"))
src = s1 + makeArchives() + s3;
else if (com[0].equals("pagepath"))
src = s1 + pagePath + s3;
else if (com[0].equals("rellink")) {
if (!pagePath.contains(".html"))
throw new Error("Invalid link: " + pagePath + " at " + workingTitle);
src = s1 + Utilities.URLEncode(pagePath) + s3;
} else if (com[0].equals("baseURL"))
src = s1 + Utilities.URLEncode(baseURL) + s3;
else if (com[0].equals("baseURLn"))
src = s1 + Utilities.appendForwardSlash(baseURL) + s3;
else if (com[0].equals("profilelist"))
src = s1 + genProfilelist() + s3;
else if (com[0].equals("igprofileslist"))
src = s1 + genIGProfilelist() + s3;
else if (com[0].equals("operationslist"))
src = s1 + genOperationList() + s3;
else if (com[0].equals("example.profile.link"))
src = s1 + genExampleProfileLink(resource) + s3;
else if (com[0].equals("id_regex"))
src = s1 + FormatUtilities.ID_REGEX + s3;
else if (com[0].equals("resourcecount"))
src = s1 + Integer.toString(definitions.getResources().size()) + s3;
else if (others != null && others.containsKey(com[0]))
src = s1 + others.get(com[0]) + s3;
else if (com[0].equals("status-codes"))
src = s1 + genStatusCodes() + s3;
else if (com[0].equals("dictionary.name")) {
String n = name.contains(File.separator) ? name.substring(name.lastIndexOf(File.separator) + 1) : name;
src = s1 + definitions.getDictionaries().get(n).getName() + s3;
// } else if (com[0].equals("dictionary.view"))
// src = s1 + ResourceUtilities.representDataElementCollection(this.workerContext, (Bundle) resource, true, "hspc-qnlab-de") + s3;
} else if (com[0].equals("search-param-pack") && resource instanceof SearchParameter)
src = s1 + ((SearchParameter) resource).getUserData("pack") + s3;
else if (com[0].equals("search-param-name") && resource instanceof SearchParameter)
src = s1 + ((SearchParameter) resource).getName() + s3;
else if (com[0].equals("search-param-url") && resource instanceof SearchParameter)
src = s1 + ((SearchParameter) resource).getUrl() + s3;
else if (com[0].equals("search-param-type") && resource instanceof SearchParameter)
src = s1 + ((SearchParameter) resource).getType().toCode() + s3;
else if (com[0].equals("search-param-definition") && resource instanceof SearchParameter)
src = s1 + ((SearchParameter) resource).getDescription() + s3;
else if (com[0].equals("search-param-paths") && resource instanceof SearchParameter)
src = s1 + (((SearchParameter) resource).hasXpath() ? ((SearchParameter) resource).getXpath() : "") + s3;
else if (com[0].equals("search-param-targets") && resource instanceof SearchParameter) {
CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder();
for (CodeType t : ((SearchParameter) resource).getTarget()) b.append(t.asStringValue());
src = s1 + b.toString() + s3;
} else if (com[0].startsWith("!"))
src = s1 + s3;
else if (com[0].equals("txsummary"))
if (resource instanceof CodeSystem)
src = s1 + txsummary((CodeSystem) resource, genlevel(level)) + s3;
else
src = s1 + txsummary((ValueSet) resource, genlevel(level)) + s3;
else if (com[0].equals("identifierlist"))
src = s1 + genIdentifierList() + s3;
else if (com[0].equals("allsearchparams"))
src = s1 + genAllSearchParams() + s3;
else if (com[0].equals("internalsystemlist"))
src = s1 + genCSList() + s3;
else if (com[0].equals("internalsystemlistx"))
src = s1 + genCSListX() + s3;
else if (com[0].equals("example-usage"))
src = s1 + s3;
else if (com[0].equals("ig.title"))
src = s1 + ig.getName() + s3;
else if (com[0].equals("ig.wglink"))
src = s1 + igLink(ig) + s3;
else if (com[0].equals("ig.wgt"))
src = s1 + ig.getCommittee() + s3;
else if (com[0].equals("ig.fmm"))
src = s1 + getFmmFromlevel(genlevel(level), ig.getFmm()) + s3;
else if (com[0].equals("ig.ballot"))
src = s1 + ig.getBallot() + s3;
else if (com[0].equals("operations")) {
Profile p = (Profile) object;
src = s1 + genOperations(p.getOperations(), p.getTitle(), p.getId(), false, null, "../", "") + s3;
} else if (com[0].equals("operations-summary"))
src = s1 + genOperationsSummary(((Profile) object).getOperations(), rd) + s3;
else if (com[0].equals("ig.opcount"))
src = s1 + genOpCount(((Profile) object).getOperations()) + s3;
else if (com[0].equals("ig-toc"))
src = s1 + genIgToc(ig) + s3;
else if (com[0].equals("fhir-path"))
src = s1 + "../" + s3;
else if (com[0].equals("vscommittee"))
src = s1 + vscommittee(resource) + s3;
else if (com[0].equals("modifier-list"))
src = s1 + genModifierList() + s3;
else if (com[0].equals("missing-element-list"))
src = s1 + genMeaningWhenMissingList() + s3;
else if (com[0].equals("wgreport"))
src = s1 + genWGReport() + s3;
else if (com[0].equals("r3maps-summary"))
src = s1 + genR3MapsSummary() + s3;
else if (com[0].equals("wg")) {
src = s1 + (wg == null || !definitions.getWorkgroups().containsKey(wg) ? "(No assigned work group) (" + wg + " (1))" : "<a _target=\"blank\" href=\"" + definitions.getWorkgroups().get(wg).getUrl() + "\">" + definitions.getWorkgroups().get(wg).getName() + "</a> Work Group") + s3;
} else if (com[0].equals("profile-context"))
src = s1 + getProfileContext((CanonicalResource) resource, genlevel(level)) + s3;
else if (com[0].equals("res-list-maturity"))
src = s1 + buildResListByMaturity() + s3;
else if (com[0].equals("res-list-security"))
src = s1 + buildResListBySecurity() + s3;
else if (com[0].equals("res-list-fmg"))
src = s1 + buildResListByFMG() + s3;
else if (com[0].equals("res-list-ballot"))
src = s1 + buildResListByBallot() + s3;
else if (com[0].equals("res-list-committee"))
src = s1 + buildResListByCommittee() + s3;
else if (com[0].equals("wglist"))
src = s1 + buildCommitteeList() + s3;
else if (com[0].equals("opName"))
src = s1 + ((Operation) object).getName() + s3;
else if (com[0].equals("rName"))
src = s1 + rd.getName() + s3;
else if (com[0].equals("operation-summary"))
src = s1 + ((Operation) object).getName() + " summary" + s3;
else if (com[0].equals("extension-type-list"))
src = s1 + genExtensionTypeList() + s3;
else if (com[0].equals("best-practice-list"))
src = s1 + genBestPracticeList() + s3;
else if (com[0].equals("wildcard-type-list"))
src = s1 + genWildcardTypeList() + s3;
else if (com[0].startsWith("GF#"))
src = s1 + "<a href=\"https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=" + com[0].substring(3) + "\">" + com[0] + "</a>" + s3;
else if (com[0].startsWith("GFT#"))
src = s1 + "<a href=\"https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=" + com[0].substring(3) + "\">Task</a>" + s3;
else if (com[0].equals("operation")) {
Operation op = (Operation) object;
src = s1 + genOperation(op, rd.getName(), rd.getName().toLowerCase(), false, rd.getStatus(), genlevel(level), rd.getNormativePackage()) + s3;
} else if (com[0].equals("past-narrative-link")) {
if (object == null || !(object instanceof Boolean))
src = s1 + s3;
else
src = s1 + "<p><a href=\"#DomainResource.text.div-end\">Jump past Narrative</a></p>" + s3;
} else if (others != null && others.containsKey(s2))
src = s1 + others.get(s2) + s3;
else if (com[0].equals("canonical-resources"))
src = s1 + listCanonicalResources() + s3;
else if (com[0].equals("metadata-resources"))
src = s1 + listCanonicalResources() + s3;
else if (com[0].equals("special-search-parameters")) {
src = s1 + listSpecialParameters() + s3;
} else if (com[0].equals("diff-links-all")) {
src = s1 + genDiffLinks() + s3;
} else if (com[0].equals("res-type-count")) {
src = s1 + definitions.getResources().size() + s3;
} else if (com[0].equals("patterns-analysis")) {
src = s1 + patternFinder.generateReport() + s3;
} else if (macros.containsKey(com[0])) {
src = s1 + macros.get(com[0]) + s3;
} else
throw new Exception("Instruction <%" + s2 + "%> not understood parsing page " + file);
}
return src;
}
use of org.hl7.fhir.dstu2.model.CodeType in project kindling by HL7.
the class PageProcessor method asText.
private String asText(List<CodeType> list) {
StringBuilder b = new StringBuilder();
boolean first = true;
for (CodeType rn : list) {
if (first) {
first = false;
b.append("<br/>(");
} else
b.append(", ");
final String value = rn.getValue();
if ("Any".equals(value))
b.append("Any");
else
b.append("<a href=\"").append(value.toLowerCase()).append(".html\">").append(value).append("</a>");
}
if (!first)
b.append(")");
return b.toString();
}
Aggregations