use of org.hl7.fhir.r4.model.codesystems.ResourceTypes.MEDICATIONSTATEMENT in project fhir-bridge by ehrbase.
the class ImmunglobulineBeliebigesEreignisPointEventConverter method convertInternal.
@Override
protected ImmunglobulineBeliebigesEreignisPointEvent convertInternal(MedicationStatement medicationStatement) {
ImmunglobulineBeliebigesEreignisPointEvent immunglobulineBeliebigesEreignisPointEvent = new ImmunglobulineBeliebigesEreignisPointEvent();
for (Coding coding : medicationStatement.getMedicationCodeableConcept().getCoding()) {
if (coding.getSystem().equals("http://fhir.de/CodeSystem/bfarm/atc")) {
DvCodedTextParser.getInstance().parseFHIRCoding(coding).ifPresent(immunglobulineBeliebigesEreignisPointEvent::setArzneimittelName);
}
}
getGrundDefiningCode(medicationStatement).ifPresent(immunglobulineBeliebigesEreignisPointEvent::setGrund);
return immunglobulineBeliebigesEreignisPointEvent;
}
use of org.hl7.fhir.r4.model.codesystems.ResourceTypes.MEDICATIONSTATEMENT in project fhir-bridge by ehrbase.
the class ImmunglobulineObservationConverter method convertInternal.
@Override
protected ImmunglobulineObservation convertInternal(MedicationStatement resource) {
ImmunglobulineObservation immunglobulineObservation = new ImmunglobulineObservation();
List<ImmunglobulineBeliebigesEreignisChoice> ereignisList = new ArrayList<>();
for (Coding coding : resource.getMedicationCodeableConcept().getCoding()) {
if (coding.getSystem().equals("http://fhir.de/CodeSystem/bfarm/atc")) {
ereignisList.add(new ImmunglobulineBeliebigesEreignisPointEventConverter().convert(resource));
}
}
immunglobulineObservation.setBeliebigesEreignis(ereignisList);
return immunglobulineObservation;
}
use of org.hl7.fhir.r4.model.codesystems.ResourceTypes.MEDICATIONSTATEMENT in project fhir-bridge by ehrbase.
the class FindMedicationStatementTransactionIT method findMedicationStatementSearch.
@Test
void findMedicationStatementSearch() throws IOException {
for (int i = 0; i < 3; i++) {
create("MedicationStatement/transactions/find-medication-statement-search.json");
}
Bundle bundle = search("MedicationStatement?subject.identifier=" + PATIENT_ID + "&status=not-taken");
Assertions.assertEquals(3, bundle.getTotal());
bundle.getEntry().forEach(entry -> {
var medicationStatement = (MedicationStatement) entry.getResource();
Assertions.assertEquals(PATIENT_ID, medicationStatement.getSubject().getIdentifier().getValue());
Assertions.assertEquals(MedicationStatement.MedicationStatementStatus.NOTTAKEN, medicationStatement.getStatus());
});
}
use of org.hl7.fhir.r4.model.codesystems.ResourceTypes.MEDICATIONSTATEMENT in project fhir-bridge by ehrbase.
the class MedicationStatementIT method testMapping.
@Override
public void testMapping(String resourcePath, String paragonPath) throws IOException {
MedicationStatement medicationStatement = (MedicationStatement) super.testFileLoader.loadResource(resourcePath);
GECCOMedikationCompositionConverter geccoMedikationCompositionConverter = new GECCOMedikationCompositionConverter();
GECCOMedikationComposition mapped = geccoMedikationCompositionConverter.convert(medicationStatement);
Diff diff = compareCompositions(getJavers(), paragonPath, mapped);
assertEquals(0, diff.getChanges().size());
}
use of org.hl7.fhir.r4.model.codesystems.ResourceTypes.MEDICATIONSTATEMENT in project eCRNow by drajer-health.
the class LoadingQueryR4Bundle method createR4Bundle.
public Bundle createR4Bundle(LaunchDetails launchDetails, R4FhirData r4FhirData, Date start, Date end) {
logger.trace("Initializing FHIR Context for Version:::: {}", launchDetails.getFhirVersion());
FhirContext context = fhirContextInitializer.getFhirContext(launchDetails.getFhirVersion());
IGenericClient client = fhirContextInitializer.createClient(context, launchDetails);
Bundle bundle = r4ResourcesData.getCommonResources(r4FhirData, start, end, launchDetails, client, context);
Encounter encounter = (Encounter) r4ResourcesData.getResourceFromBundle(bundle, Encounter.class);
r4ResourcesData.loadPractitionersLocationAndOrganization(context, client, launchDetails, r4FhirData, encounter, bundle, start, end);
r4ResourcesData.loadMedicationsData(context, client, launchDetails, r4FhirData, encounter, bundle, start, end);
// Get Pregnancy Observations
try {
List<Observation> observationList = r4ResourcesData.getPregnancyObservationData(context, client, launchDetails, r4FhirData, encounter, start, end);
r4FhirData.setPregnancyObs(observationList);
for (Observation observation : observationList) {
BundleEntryComponent observationsEntry = new BundleEntryComponent().setResource(observation);
bundle.addEntry(observationsEntry);
}
} catch (Exception e) {
logger.error("Error in getting Pregnancy Observation Data", e);
}
// Get Travel Observations
try {
List<Observation> observationList = r4ResourcesData.getTravelObservationData(context, client, launchDetails, r4FhirData, encounter, start, end);
r4FhirData.setTravelObs(observationList);
for (Observation observation : observationList) {
BundleEntryComponent observationsEntry = new BundleEntryComponent().setResource(observation);
bundle.addEntry(observationsEntry);
}
} catch (Exception e) {
logger.error("Error in getting Travel Observation Data", e);
}
// Get Social History Observations (Occupation)
try {
List<Observation> observationList = r4ResourcesData.getSocialHistoryObservationDataOccupation(context, client, launchDetails, r4FhirData, encounter, start, end);
r4FhirData.setOccupationObs(observationList);
for (Observation observation : observationList) {
BundleEntryComponent observationsEntry = new BundleEntryComponent().setResource(observation);
bundle.addEntry(observationsEntry);
}
} catch (Exception e) {
logger.error("Error in getting Social History Observation(Occupation) Data", e);
}
// Get Pregnancy Conditions
try {
List<Condition> conditionList = r4ResourcesData.getPregnancyConditions(context, client, launchDetails, r4FhirData, encounter, start, end);
r4FhirData.setPregnancyConditions(conditionList);
for (Condition condition : conditionList) {
BundleEntryComponent conditionEntry = new BundleEntryComponent().setResource(condition);
bundle.addEntry(conditionEntry);
}
} catch (Exception e) {
logger.error("Error in getting Pregnancy Conditions", e);
}
try {
List<MedicationStatement> medStatementsList = r4ResourcesData.getMedicationStatementData(context, client, launchDetails, r4FhirData, encounter, start, end);
r4FhirData.setMedications(medStatementsList);
for (MedicationStatement medStatement : medStatementsList) {
BundleEntryComponent medStatementEntry = new BundleEntryComponent().setResource(medStatement);
bundle.addEntry(medStatementEntry);
}
} catch (Exception e) {
logger.error("Error in getting the MedicationStatement Data", e);
}
// Add to the bundle
try {
List<Immunization> immunizationsList = r4ResourcesData.getImmunizationData(context, client, launchDetails, r4FhirData, encounter, start, end);
r4FhirData.setImmunizations(immunizationsList);
for (Immunization immunization : immunizationsList) {
BundleEntryComponent immunizationEntry = new BundleEntryComponent().setResource(immunization);
bundle.addEntry(immunizationEntry);
}
} catch (Exception e) {
logger.error("Error in getting the Immunization Data", e);
}
// Add to the bundle
try {
List<DiagnosticReport> diagnosticReportList = r4ResourcesData.getDiagnosticReportData(context, client, launchDetails, r4FhirData, encounter, start, end);
r4FhirData.setDiagReports(diagnosticReportList);
for (DiagnosticReport diagnosticReport : diagnosticReportList) {
BundleEntryComponent diagnosticReportEntry = new BundleEntryComponent().setResource(diagnosticReport);
bundle.addEntry(diagnosticReportEntry);
}
} catch (Exception e) {
logger.error("Error in getting the DiagnosticReport Data", e);
}
// Setting bundle to FHIR Data
logger.info("------------------------------CodeableConcept Codes------------------------------\n" + "Encounter Codes Size=====> {} \n" + "Conditions Codes Size=====> {} \n" + "Observation Codes Size=====> {}\n" + "Medication Codes Size=====> {}\n" + "Immunization Codes Size=====> {}\n" + "DiagnosticReport Codes Size=====> {}\n" + "ServiceRequests Codes Size=====> {}", r4FhirData.getR4EncounterCodes().size(), r4FhirData.getR4ConditionCodes().size(), r4FhirData.getR4LabResultCodes().size(), r4FhirData.getR4MedicationCodes().size(), r4FhirData.getR4ImmunizationCodes().size(), r4FhirData.getR4DiagnosticReportCodes().size(), r4FhirData.getR4ServiceRequestCodes().size());
String fileName = ActionRepo.getInstance().getLogFileDirectory() + "/LoadingQueryR4Bundle-" + launchDetails.getLaunchPatientId() + ".json";
ApplicationUtils.saveDataToFile(context.newJsonParser().encodeResourceToString(bundle), fileName);
return bundle;
}
Aggregations