diff --git a/README.md b/README.md
index bb914f5..4ef899c 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Eos
* Postgres if not using docker
* optionally: openEHR platform, otherwise there is the option to setup one down below
-### Setting up an OMOP Db and connect it to an openEHR platform
+### Setting up Eos
1. clone repo `git clone --recursive`
2. Use Common Data model sqls from `setup/ddls/` or download
@@ -83,11 +83,7 @@ $ mvn clean install
url: jdbc:postgresql://localhost:5433/YOUR_SCHEMA #default is public
```
-3. configure openEHR platform in `src/main/resources/application.yml`.
- If you do not have setup an openEHR platform you can use [ehrbase](https://github.com/ehrbase/ehrbase).
- (
- See [here](https://ehrbase.readthedocs.io/en/latest/03_development/04_docker_images/01_ehrbase/02_use_image/index.html#run-ehrbase-db-with-docker-compose)
- for a guide how to set it up with docker-compose.)
+3. configure openEHR platform in `src/main/resources/application.yml`.
```yml
ehrbase:
@@ -101,6 +97,9 @@ $ mvn clean install
4. configure cronjob for eras or leave them for manual execution
+
+5. **POSTMAN** examples can be found in `.config/`
+
## Mappings
We currently support CDM v5.4, if more tooling is provided v6 will be added in the future.
diff --git a/setup/ddls/create_sequences_and_ehr_to_person.sql b/setup/ddls/create_sequences_and_ehr_to_person.sql
index 0bd53d5..954e8ac 100644
--- a/setup/ddls/create_sequences_and_ehr_to_person.sql
+++ b/setup/ddls/create_sequences_and_ehr_to_person.sql
@@ -31,3 +31,4 @@ CREATE TABLE IF NOT EXISTS @cdmDatabaseSchema.ehr_to_person
ALTER TABLE IF EXISTS @cdmDatabaseSchema.ehr_to_person
OWNER to postgres;
+
diff --git a/src/main/java/org/bih/eos/controller/EhrController.java b/src/main/java/org/bih/eos/controller/EhrController.java
index 410e233..d372732 100644
--- a/src/main/java/org/bih/eos/controller/EhrController.java
+++ b/src/main/java/org/bih/eos/controller/EhrController.java
@@ -37,7 +37,7 @@ public ResponseEntity convertAll(@RequestBody String json) {
ObjectMapper objectMapper = new ObjectMapper();
try {
Ehrs ehrs = objectMapper.readValue(json, Ehrs.class);
- return new ResponseEntity<>(new EhrService(ehrToPersonService, openEhrClient, converterService).convertEhrList(ehrs), HttpStatus.OK);
+ return new ResponseEntity<>(new EhrService(ehrToPersonService, openEhrClient, converterService).convertSpecific(ehrs), HttpStatus.OK);
} catch (JsonProcessingException e) {
return new ResponseEntity<>("{ \"message\" : \"Json malformed\" }", HttpStatus.BAD_REQUEST);
}
diff --git a/src/main/java/org/bih/eos/converter/cdm_field/CDMConverter.java b/src/main/java/org/bih/eos/converter/cdm_field/CDMConverter.java
index f970f90..ce4e49e 100644
--- a/src/main/java/org/bih/eos/converter/cdm_field/CDMConverter.java
+++ b/src/main/java/org/bih/eos/converter/cdm_field/CDMConverter.java
@@ -29,8 +29,11 @@ private Optional runConversion(Locatable contentItem, ValueEntry[] valueEntri
for (ValueEntry valueEntry : valueEntries) {
if (valueEntry.getCode() != null) {
return convertCode(valueEntry.getCode());
- } else if (valueEntry.getPath() != null && PathProcessor.getItemAtPath(contentItem, valueEntry.getPath()).isPresent() && convertPath(contentItem, valueEntry.getPath()).isPresent() ) {
- return convertPath(contentItem, valueEntry.getPath());
+ } else if (valueEntry.getPath() != null && PathProcessor.getItemAtPath(contentItem, valueEntry.getPath()).isPresent()) {
+ Optional convertedPath = convertPath(contentItem, valueEntry.getPath());
+ if(convertedPath.isPresent()){
+ return convertedPath;
+ }
}
}
return Optional.empty();
diff --git a/src/main/java/org/bih/eos/converter/cdt/conversion_entities/Entity.java b/src/main/java/org/bih/eos/converter/cdt/conversion_entities/Entity.java
index a600139..b40eee9 100644
--- a/src/main/java/org/bih/eos/converter/cdt/conversion_entities/Entity.java
+++ b/src/main/java/org/bih/eos/converter/cdt/conversion_entities/Entity.java
@@ -1,9 +1,16 @@
package org.bih.eos.converter.cdt.conversion_entities;
-import org.bih.eos.jpabase.entity.JPABaseEntity;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import org.bih.eos.jpabase.entity.*;
+import org.checkerframework.checker.nullness.Opt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.core.convert.ConversionException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.Optional;
import java.util.OptionalDouble;
import java.util.function.Consumer;
@@ -23,22 +30,54 @@ public Entity(B jpaEntity) {
public Optional toJpaEntity() {
requiredOptionalFieldNull = !validateRequiredOptionalsNotNull();
if (requiredFieldEmpty || requiredOptionalFieldNull) {
- generateLog();
+ // generateLog();
+ // return extractVisitOccurrence(jpaEntity);
return Optional.empty();
} else {
return Optional.of(jpaEntity);
}
}
- private void generateLog() { //TODO add property for display
-/* ObjectMapper mapper = new ObjectMapper();
+ private Optional extractVisitOccurrence(B jpaEntity){
+ try {
+ Method visitOccurrence = getVisitOccurrenceMethod(jpaEntity);
+ return Optional.of((JPABaseEntity)visitOccurrence.invoke(jpaEntity));
+ } catch (NoSuchMethodException e) {
+ return Optional.empty();
+ } catch (InvocationTargetException | IllegalAccessException e) {
+ throw new RuntimeException("Reflection on getVisitOccurrence failed, check your code!");
+ }
+ }
+
+ private static Method getVisitOccurrenceMethod(Object evaluationObject) throws NoSuchMethodException {
+ if (evaluationObject.getClass() == Measurement.class) {
+ return Measurement.class.getDeclaredMethod("getVisitOccurrence");
+ } else if (evaluationObject.getClass() == ProcedureOccurrence.class) {
+ return ProcedureOccurrence.class.getDeclaredMethod("getVisitOccurrence");
+ } else if (evaluationObject.getClass() == DrugExposure.class) {
+ return DrugExposure.class.getDeclaredMethod("getVisitOccurrence");
+ } else if (evaluationObject.getClass() == Observation.class) {
+ return Observation.class.getDeclaredMethod("getVisitOccurrence");
+ } else if (evaluationObject.getClass() == ConditionOccurrence.class) {
+ return ConditionOccurrence.class.getDeclaredMethod("getVisitOccurrence");
+ } else if (evaluationObject.getClass() == DeviceExposure.class) {
+ return DeviceExposure.class.getDeclaredMethod("getVisitOccurrence");
+ }else if (evaluationObject.getClass() == Person.class) {
+ return Person.class.getDeclaredMethod("getVisitOccurrence");
+ } else {
+ throw new NoSuchMethodException();
+ }
+ }
+
+ /* private void generateLog() { //TODO add property for display
+ ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
try {
LOG.warn("ignore conversion since field is missing. " + mapper.writeValueAsString(jpaEntity));
} catch (JsonProcessingException e) {
//ignore
- }*/
- }
+ }
+ }*/
public void populateFieldIfPresent(Optional optionalValue, Consumer setterConsumer) {
requiredFieldEmpty = CDMFieldSetter.setFieldIfPresent(optionalValue, requiredFieldEmpty, setterConsumer);
diff --git a/src/main/java/org/bih/eos/converter/cdt/converter/custom/CustomCDTConverter.java b/src/main/java/org/bih/eos/converter/cdt/converter/custom/CustomCDTConverter.java
index 65e8bae..1bf1db3 100644
--- a/src/main/java/org/bih/eos/converter/cdt/converter/custom/CustomCDTConverter.java
+++ b/src/main/java/org/bih/eos/converter/cdt/converter/custom/CustomCDTConverter.java
@@ -24,7 +24,7 @@ protected List persist(List convertedEntities) {
}
protected JPABaseEntity persist(JPABaseEntity convertedEntity) {
- return defaultConverterServices.getPersistenceService().create(convertedEntity);
+ return defaultConverterServices.getPersistenceService().createInstant(convertedEntity);
}
}
diff --git a/src/main/java/org/bih/eos/converter/composition/CompositionToMDConverter.java b/src/main/java/org/bih/eos/converter/composition/CompositionToMDConverter.java
index b9de6a9..f8b4df1 100644
--- a/src/main/java/org/bih/eos/converter/composition/CompositionToMDConverter.java
+++ b/src/main/java/org/bih/eos/converter/composition/CompositionToMDConverter.java
@@ -21,6 +21,7 @@
import java.util.*;
public class CompositionToMDConverter extends CompositionToEntityConverter {
+ HashMap archetypeList = new HashMap();
private static final Logger LOG = LoggerFactory.getLogger(CompositionToMDConverter.class);
@@ -43,6 +44,7 @@ private List runCDTConverters(List conversionTra
Optional visitOccurrence = convertVisitOccurrence(convertableComposition.getComposition(), convertableComposition.getPerson());
CdtExecutionParameterMedData cdtExecutionParameters = new CdtExecutionParameterMedData(convertableComposition.getPerson(), visitOccurrence);
cdtConverterResults = iterateContent(convertableComposition.getComposition().getContent(), cdtExecutionParameters, conversionTracker, cdtConverterResults);
+ LOG.info("Mapped amount of archetypes: " + archetypeList.values().stream().mapToInt(i -> i.intValue()).sum() + ", including following archetypes: " + archetypeList);
return cdtConverterResults;
}
@@ -52,6 +54,7 @@ private List iterateContent(List contentItems, CdtEx
cdtExecutionParameters.setContentItem(contentItem);
if (contentItem.getClass().equals(Section.class)) {
cdtConverterResults.addAll(iterateContent(((Section) contentItem).getItems(), cdtExecutionParameters, conversionTracker, cdtConverterResults));
+
return cdtConverterResults;
}
if (converterExists(cdtExecutionParameters.getArchetypeId())) {
@@ -64,6 +67,14 @@ private List iterateContent(List contentItems, CdtEx
return cdtConverterResults;
}
+ private void increaseArchetypeCounter(String archetypeNodeId) {
+ if (archetypeList.containsKey(archetypeNodeId)) {
+ archetypeList.put(archetypeNodeId, archetypeList.get(archetypeNodeId) + 1);
+ } else {
+ archetypeList.put(archetypeNodeId, 0);
+ }
+ }
+
private Optional convertVisitOccurrence(Composition composition, Person person) {
VisitOccurrenceConverter visitOccurrenceConverter = new VisitOccurrenceConverter(defaultConverterServices);
Optional visitOccurrence = visitOccurrenceConverter.convert(composition, person);
@@ -72,6 +83,7 @@ private Optional convertVisitOccurrence(Composition composition
private List executeCDTConverter(CdtExecutionParameterMedData cdtExecutionParameters, List conversionTracker) {
List cdtConverterResults = new ArrayList<>();
+ increaseArchetypeCounter(cdtExecutionParameters.archetypeId);
for (CDTConverter converter : conversionMap.get(cdtExecutionParameters.archetypeId)) {
if (converter instanceof CDTMedicalDataConverter) {
List currentConversionResult =
diff --git a/src/main/java/org/bih/eos/jpabase/entity/ConditionOccurrence.java b/src/main/java/org/bih/eos/jpabase/entity/ConditionOccurrence.java
index f2cf099..50ee430 100644
--- a/src/main/java/org/bih/eos/jpabase/entity/ConditionOccurrence.java
+++ b/src/main/java/org/bih/eos/jpabase/entity/ConditionOccurrence.java
@@ -34,19 +34,7 @@
import java.util.Date;
-import jakarta.persistence.Access;
-import jakarta.persistence.AccessType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
+import jakarta.persistence.*;
@Entity
@Table(name="condition_occurrence")
@@ -94,7 +82,7 @@ public class ConditionOccurrence extends JPABaseEntity {
@JoinColumn(name = "provider_id")
private Provider provider;
- @ManyToOne
+ @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "visit_occurrence_id")
private VisitOccurrence visitOccurrence;
diff --git a/src/main/java/org/bih/eos/jpabase/entity/DeviceExposure.java b/src/main/java/org/bih/eos/jpabase/entity/DeviceExposure.java
index ebd2868..da62c6d 100644
--- a/src/main/java/org/bih/eos/jpabase/entity/DeviceExposure.java
+++ b/src/main/java/org/bih/eos/jpabase/entity/DeviceExposure.java
@@ -34,19 +34,7 @@
import java.util.Date;
-import jakarta.persistence.Access;
-import jakarta.persistence.AccessType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
+import jakarta.persistence.*;
@Entity
@Table(name="device_exposure")
@@ -95,8 +83,8 @@ public class DeviceExposure extends JPABaseEntity {
@ManyToOne
@JoinColumn(name="provider_id")
private Provider provider;
-
- @ManyToOne
+
+ @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="visit_occurrence_id")
private VisitOccurrence visitOccurrence;
diff --git a/src/main/java/org/bih/eos/jpabase/entity/DrugExposure.java b/src/main/java/org/bih/eos/jpabase/entity/DrugExposure.java
index 8b96ffc..d3fd66e 100644
--- a/src/main/java/org/bih/eos/jpabase/entity/DrugExposure.java
+++ b/src/main/java/org/bih/eos/jpabase/entity/DrugExposure.java
@@ -34,20 +34,7 @@
import java.util.Date;
-import jakarta.persistence.Access;
-import jakarta.persistence.AccessType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
+import jakarta.persistence.*;
@Entity
@Table(name="drug_exposure")
@@ -117,7 +104,7 @@ public class DrugExposure extends JPABaseEntity {
@JoinColumn(name = "provider_id")
private Provider provider;
- @ManyToOne(fetch = FetchType.LAZY)
+ @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "visit_occurrence_id")
private VisitOccurrence visitOccurrence;
diff --git a/src/main/java/org/bih/eos/jpabase/entity/Measurement.java b/src/main/java/org/bih/eos/jpabase/entity/Measurement.java
index 1948be5..5e83e76 100644
--- a/src/main/java/org/bih/eos/jpabase/entity/Measurement.java
+++ b/src/main/java/org/bih/eos/jpabase/entity/Measurement.java
@@ -34,20 +34,7 @@
import java.util.Date;
-import jakarta.persistence.Access;
-import jakarta.persistence.AccessType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.Index;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
+import jakarta.persistence.*;
@Entity
@Table(
@@ -120,7 +107,7 @@ public class Measurement extends JPABaseEntity {
@JoinColumn(name="provider_id")
private Provider provider;
- @ManyToOne
+ @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "visit_occurrence_id")
private VisitOccurrence visitOccurrence;
diff --git a/src/main/java/org/bih/eos/jpabase/entity/Note.java b/src/main/java/org/bih/eos/jpabase/entity/Note.java
index e5b84a2..540e606 100644
--- a/src/main/java/org/bih/eos/jpabase/entity/Note.java
+++ b/src/main/java/org/bih/eos/jpabase/entity/Note.java
@@ -34,19 +34,7 @@
import java.util.Date;
-import jakarta.persistence.Access;
-import jakarta.persistence.AccessType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
+import jakarta.persistence.*;
@Entity
@Table(name="note")
@@ -101,7 +89,7 @@ public class Note extends JPABaseEntity {
@JoinColumn(name = "provider_id")
private Provider provider;
- @ManyToOne
+ @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "visit_occurrence_id")
private VisitOccurrence visitOccurrence;
diff --git a/src/main/java/org/bih/eos/jpabase/entity/Observation.java b/src/main/java/org/bih/eos/jpabase/entity/Observation.java
index ae582d0..ddfe30f 100644
--- a/src/main/java/org/bih/eos/jpabase/entity/Observation.java
+++ b/src/main/java/org/bih/eos/jpabase/entity/Observation.java
@@ -34,20 +34,7 @@
import java.util.Date;
-import jakarta.persistence.Access;
-import jakarta.persistence.AccessType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.Index;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
+import jakarta.persistence.*;
@Entity
@Table(
@@ -107,7 +94,7 @@ public class Observation extends JPABaseEntity {
@JoinColumn(name = "provider_id")
private Provider provider;
- @ManyToOne
+ @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "visit_occurrence_id")
private VisitOccurrence visitOccurrence;
diff --git a/src/main/java/org/bih/eos/jpabase/entity/ProcedureOccurrence.java b/src/main/java/org/bih/eos/jpabase/entity/ProcedureOccurrence.java
index 4e353aa..51840c1 100644
--- a/src/main/java/org/bih/eos/jpabase/entity/ProcedureOccurrence.java
+++ b/src/main/java/org/bih/eos/jpabase/entity/ProcedureOccurrence.java
@@ -34,20 +34,7 @@
import java.util.Date;
-import jakarta.persistence.Access;
-import jakarta.persistence.AccessType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.Index;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import jakarta.persistence.Temporal;
-import jakarta.persistence.TemporalType;
+import jakarta.persistence.*;
@Entity
@Table(
@@ -106,7 +93,7 @@ public class ProcedureOccurrence extends JPABaseEntity {
@JoinColumn(name = "provider_id")
private Provider provider;
- @ManyToOne
+ @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "visit_occurrence_id")
private VisitOccurrence visitOccurrence;
diff --git a/src/main/java/org/bih/eos/services/ConceptSearchService.java b/src/main/java/org/bih/eos/services/ConceptSearchService.java
index be08d8a..2f164bd 100644
--- a/src/main/java/org/bih/eos/services/ConceptSearchService.java
+++ b/src/main/java/org/bih/eos/services/ConceptSearchService.java
@@ -20,10 +20,12 @@ public class ConceptSearchService{
private final ConceptRelationshipService conceptRelationshipService;
private final ConceptService conceptService;
private static final Logger LOG = LoggerFactory.getLogger(ConceptSearchService.class);
+ private final Concept empty_concept;
public ConceptSearchService(ConceptService conceptService, ConceptRelationshipService conceptRelationshipService) {
this.conceptRelationshipService = conceptRelationshipService;
this.conceptService = conceptService;
+ this.empty_concept = conceptService.findById(0L);
}
@@ -61,7 +63,7 @@ private Optional searchMappedStandardConcept(Concept concept) {
LOG.info("Queried relationship concepts output: " + conceptRelationshipIds);
if (conceptRelationshipIds.size() == 0) {
LOG.info("No standard concept mapping was found a 0 concept id is returned as specified by OHDSI");
- return Optional.of(conceptService.findById(0l));
+ return Optional.of(empty_concept);
}
return Optional.of(conceptService.findById(conceptRelationshipIds.get(0).getId().getConceptId2()));
}
@@ -70,7 +72,7 @@ public Optional searchSourceConcept(ParameterWrapper param) {
List concepts = conceptService.searchWithParams(0, 0, List.of(param), null);
if (concepts.size() == 0) {
LOG.info("No matching concept was found, ");
- return Optional.of(conceptService.findById(0L)); //TODO if not matching pattern was found stop mapping or return 0 ?
+ return Optional.of(empty_concept); //TODO if not matching pattern was found stop mapping or return 0 ?
}
LOG.info("Queried source concepts output: " + concepts);
return Optional.of(concepts.get(0));
diff --git a/src/main/java/org/bih/eos/services/ConverterService.java b/src/main/java/org/bih/eos/services/ConverterService.java
index e1aac9a..7289f74 100644
--- a/src/main/java/org/bih/eos/services/ConverterService.java
+++ b/src/main/java/org/bih/eos/services/ConverterService.java
@@ -28,6 +28,19 @@ public List convert(ConvertableComposition convertableComposition
return persistenceService.getPersistedEntities();
}
+ public List convertBatch(ConvertableComposition convertableComposition) {
+ persistenceService.clearPersistedEntities();
+ TypeDescriptor sourceType = TypeDescriptor.valueOf(ConvertableComposition.class);
+ TypeDescriptor targetType = TypeDescriptor.collection(List.class, TypeDescriptor.valueOf(JPABaseEntity.class));
+ persistenceService.createBatch((List) conversionService.convert(convertableComposition, sourceType, targetType));
+ return persistenceService.getPersistedEntities();
+ }
+
+ public List convertLastBatch() {
+ persistenceService.clearPersistedEntities();
+ persistenceService.createLastBatch();
+ return persistenceService.getPersistedEntities();
+ }
public List convert(Composition composition) {
persistenceService.clearPersistedEntities();
TypeDescriptor sourceType = TypeDescriptor.valueOf(Composition.class);
diff --git a/src/main/java/org/bih/eos/services/EhrService.java b/src/main/java/org/bih/eos/services/EhrService.java
index d5204d5..bf2a3c5 100644
--- a/src/main/java/org/bih/eos/services/EhrService.java
+++ b/src/main/java/org/bih/eos/services/EhrService.java
@@ -9,21 +9,24 @@
import org.bih.eos.services.dao.ConversionResponse;
import org.ehrbase.client.aql.query.NativeQuery;
import org.ehrbase.client.aql.query.Query;
-import org.ehrbase.client.aql.record.Record1;
+import org.ehrbase.client.aql.record.Record2;
import org.ehrbase.client.openehrclient.OpenEhrClient;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Optional;
@Service
public class EhrService {
-
+ private final long offsetLimit = 10000;
+ private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(EhrService.class);
private final EHRToPersonService ehrToPersonService;
private final OpenEhrClient openEhrClient;
private final ConverterService converterService;
- private ConversionResponse output;
+ int ehrBatchAmount = 40;
public EhrService(EHRToPersonService ehrToPersonService, OpenEhrClient openEhrClient, ConverterService converterService) {
this.ehrToPersonService = ehrToPersonService;
@@ -32,57 +35,96 @@ public EhrService(EHRToPersonService ehrToPersonService, OpenEhrClient openEhrCl
}
public String convertAll() {
- output = new ConversionResponse();
List ehrToPersonList = ehrToPersonService.findAll();
- for (EHRToPerson ehrToPerson : ehrToPersonList) {
- convertEhrContent(ehrToPerson);
- }
- return output.getJson();
+ return convertList(ehrToPersonList);
}
- public String convertEhrList(Ehrs ehrList) {
- output = new ConversionResponse();
+ public String convertSpecific(Ehrs ehrList) {
+ List ehrToPersonList = new ArrayList<>();
for (String ehrId : ehrList.getEhrIds()) {
Optional ehrToPersonOptional = ehrToPersonService.findByEhrId(ehrId);
- ehrToPersonOptional.ifPresent(this::convertEhrContent);
+ ehrToPersonOptional.ifPresent(ehrToPersonList::add);
+ }
+ return convertList(ehrToPersonList);
+ }
+
+ public String convertList(List ehrToPersonList) {
+ ConversionResponse output = new ConversionResponse();
+ List ehrToPersonBatch = new ArrayList<>();
+ for (EHRToPerson ehrToPerson : ehrToPersonList) {
+ ehrToPersonBatch.add(ehrToPerson);
+ if (ehrToPersonBatch.size() == ehrBatchAmount) {
+ loadCompositions(ehrToPersonBatch, output);
+ ehrToPersonBatch = new ArrayList<>();
+ }
+ }
+ if (ehrToPersonBatch.size() != 0) {
+ loadCompositions(ehrToPersonBatch, output);
}
+ converterService.convertLastBatch();
return output.getJson();
}
- private void convertEhrContent(EHRToPerson ehrToPerson) {
- loadCompositions(ehrToPerson);
+ public void loadCompositions(List ehrToPersonList, ConversionResponse output) {
+ List> queryResult = executeAqlQuery(0, ehrToPersonList);
+ HashMap> sortedEhrCompositions = prepareQueryOutput(queryResult);
+ for (EHRToPerson ehrToPerson : ehrToPersonList) {
+ if (sortedEhrCompositions.containsKey(ehrToPerson.getEhrId())) {
+ convert(sortedEhrCompositions.get(ehrToPerson.getEhrId()), ehrToPerson, output);
+ batchLoad(queryResult, ehrToPersonList, output,0);
+ }
+ }
}
- public void loadCompositions(EHRToPerson ehrToPerson) {
- List> result = executeAqlQuery(0, ehrToPerson.getEhrId());
- convert(result, ehrToPerson);
- batchLoad(result, ehrToPerson, 0);
+ private HashMap> prepareQueryOutput(List> result) {
+ HashMap> sortedEhrCompositions = new HashMap<>();
+ for (Record2 queryResult : result) {
+ if (!sortedEhrCompositions.containsKey(queryResult.value1())) {
+ List compositions = new ArrayList<>();
+ compositions.add(queryResult.value2());
+ sortedEhrCompositions.put(queryResult.value1(), compositions);
+ } else {
+ sortedEhrCompositions.get(queryResult.value1()).add(queryResult.value2());
+ }
+ }
+ return sortedEhrCompositions;
}
- private void batchLoad(List> result, EHRToPerson ehrToPerson, int offset) {
- if (result.size() == 50) {
- offset += 50;
- List> resultNew = executeAqlQuery(offset, ehrToPerson.getEhrId());
- convert(resultNew, ehrToPerson);
- batchLoad(resultNew, ehrToPerson, offset);
+ private void batchLoad(List> queryResultOld, List ehrToPersonList, ConversionResponse output, long offset) {
+ if (queryResultOld.size() == offsetLimit) {
+ offset += offsetLimit;
+ List> queryResultNew = executeAqlQuery(offset, ehrToPersonList);
+ HashMap> sortedEhrCompositions = prepareQueryOutput(queryResultNew);
+ for (EHRToPerson ehrToPerson : ehrToPersonList) {
+ if (sortedEhrCompositions.containsKey(ehrToPerson.getEhrId())) {
+ convert(sortedEhrCompositions.get(ehrToPerson.getEhrId()), ehrToPerson, output);
+ batchLoad(queryResultNew, ehrToPersonList, output, offset);
+ }
+ }
}
}
- private void convert(List> resultNew, EHRToPerson ehrToPerson) {
- for (Record1 compositionRecord1 : resultNew) {
- if (compositionRecord1.value1() != null) {
- List converterResult = converterService.convert(new ConvertableComposition(compositionRecord1.value1(), ehrToPerson.getPerson()));
+ public void convert(List compositionList, EHRToPerson ehrToPerson, ConversionResponse output) {
+ for (Composition composition : compositionList) {
+ if (composition != null) {
+ List converterResult = converterService.convertBatch(new ConvertableComposition(composition, ehrToPerson.getPerson()));
output.increaseOneComposition(ehrToPerson.getEhrId(), converterResult.size());
}
}
+ LOG.info("Current status of the mappings: " + output.getJson());
}
- private NativeQuery> buildCompositionQuery(int offset, String ehrId) {
- return Query.buildNativeQuery("SELECT c from EHR e CONTAINS Composition c WHERE e/ehr_id/value = '" + ehrId + "' LIMIT 50 OFFSET " + offset + " ORDER BY e/ehr_id/value DESC", Composition.class);
+ private NativeQuery> buildCompositionQueryEhr(long offset, List ehrToPersonList) {
+ StringBuilder whereStatements = new StringBuilder();
+ for (EHRToPerson ehrToPerson : ehrToPersonList) {
+ whereStatements.append(" e/ehr_id/value = '").append(ehrToPerson.getEhrId()).append("' OR");
+ }
+ whereStatements = new StringBuilder(whereStatements.substring(0, whereStatements.length() - 2));
+ return Query.buildNativeQuery("SELECT e/ehr_id/value, c from EHR e CONTAINS Composition c WHERE " + whereStatements + " LIMIT " + offsetLimit + " OFFSET " + offset + " ORDER BY e/ehr_id/value DESC", String.class, Composition.class);
}
- private List> executeAqlQuery(int offset, String ehrId) {
- Query> query = buildCompositionQuery(0, ehrId);
+ private List> executeAqlQuery(long offset, List ehrIds) {
+ NativeQuery> query = buildCompositionQueryEhr(offset, ehrIds);
try {
return openEhrClient.aqlEndpoint().execute(query);
} catch (NullPointerException nullPointerException) {
@@ -90,3 +132,8 @@ private List> executeAqlQuery(int offset, String ehrId) {
}
}
}
+
+//['ca1e0191-bcba-4570-affb-b6f176a870d4', '77f6774b-c8aa-4826-8415-afcb25bc4001']
+//---------Creating Compositions-------------
+//Loading Composition files ...
+//Compositions uploaded: 1
\ No newline at end of file
diff --git a/src/main/java/org/bih/eos/services/PersistenceService.java b/src/main/java/org/bih/eos/services/PersistenceService.java
index bc2dd6f..3b4c775 100644
--- a/src/main/java/org/bih/eos/services/PersistenceService.java
+++ b/src/main/java/org/bih/eos/services/PersistenceService.java
@@ -1,12 +1,17 @@
package org.bih.eos.services;
+import jakarta.persistence.EntityExistsException;
import org.bih.eos.jpabase.entity.JPABaseEntity;
+import org.bih.eos.jpabase.entity.Measurement;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
+
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
@Service
@@ -14,22 +19,90 @@ public class PersistenceService {
@PersistenceContext
EntityManager entityManager;
+
+ private Boolean isBatchProcessing = false;
+ private List transformedEntities = new ArrayList<>();
+ HashMap baseEntityMap = new HashMap();
private List persistedEntities = new ArrayList<>();
+ private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(PersistenceService.class);
+
+ @Transactional
+ public void createBatch(List convertedEntities) {
+ isBatchProcessing = true;
+ transformedEntities.addAll(convertedEntities);
+ if (transformedEntities.size() >= 1000) {
+ LOG.info("Batch load 1000: " + transformedEntities.size());
+ persistJpaEntities();
+ LOG.info("Mapped amount of database Entities: " + baseEntityMap.values().stream().mapToInt(i -> i.intValue()).sum() + ", including following entities: " + baseEntityMap);
+ entityManager.flush();
+ entityManager.clear();
+ transformedEntities = new ArrayList<>();
+ }
+ }
+
+ @Transactional
+ public void createLastBatch() {
+ if (transformedEntities.size() != 0) {
+ persistJpaEntities();
+ LOG.info("Mapped amount of database Entities: " + baseEntityMap.values().stream().mapToInt(i -> i.intValue()).sum() + ", including following entities: " + baseEntityMap);
+ entityManager.flush();
+ entityManager.clear();
+ transformedEntities = new ArrayList<>();
+ }
+ baseEntityMap = new HashMap<>();
+ isBatchProcessing = false;
+ }
+
+
+ private void persistJpaEntities() {
+ for (JPABaseEntity jpaBaseEntity : transformedEntities) {
+ entityManager.persist(jpaBaseEntity);
+ increaseBaseEntityCounter(jpaBaseEntity.getClass().toString());
+ persistedEntities.add(jpaBaseEntity);
+ }
+ }
+
@Transactional
public List create(List convertedEntities) {
List outputs = new ArrayList<>();
for (JPABaseEntity baseEntity : convertedEntities) {
entityManager.persist(baseEntity);
+ increaseBaseEntityCounter(baseEntity.getClass().toString());
persistedEntities.add(baseEntity);
outputs.add(baseEntity);
}
return outputs;
}
+ //['df8033b1-1dde-433c-ab0e-1f6fed8924ff']
+ private void increaseBaseEntityCounter(String baseEntityName) {
+ baseEntityName = baseEntityName.replace("class org.bih.eos.jpabase.entity.", "");
+ if (baseEntityMap.containsKey(baseEntityName)) {
+ baseEntityMap.put(baseEntityName, baseEntityMap.get(baseEntityName) + 1);
+ } else {
+ baseEntityMap.put(baseEntityName, 1);
+ }
+ }
+
@Transactional
public JPABaseEntity create(JPABaseEntity convertedEntity) {
+ //Check if Batch
+ if (isBatchProcessing) {
+ transformedEntities.add(convertedEntity);
+ persistedEntities.add(convertedEntity);
+ } else {
+ entityManager.persist(convertedEntity);
+ increaseBaseEntityCounter(convertedEntity.getClass().toString());
+ persistedEntities.add(convertedEntity);
+ }
+ return convertedEntity;
+ }
+
+ @Transactional
+ public JPABaseEntity createInstant(JPABaseEntity convertedEntity) {
entityManager.persist(convertedEntity);
+ increaseBaseEntityCounter(convertedEntity.getClass().toString());
persistedEntities.add(convertedEntity);
return convertedEntity;
}
diff --git a/src/main/java/org/bih/eos/services/dao/ConversionResponse.java b/src/main/java/org/bih/eos/services/dao/ConversionResponse.java
index abd32de..28720a0 100644
--- a/src/main/java/org/bih/eos/services/dao/ConversionResponse.java
+++ b/src/main/java/org/bih/eos/services/dao/ConversionResponse.java
@@ -5,26 +5,31 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import org.bih.eos.exceptions.UnprocessableEntityException;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
public class ConversionResponse {
- HashMap ehrResponses = new HashMap<>();
+ List ehrIds = new ArrayList<>();
+
+ EhrResponse ehrResponse = new EhrResponse();
static class EhrResponse {
+
+ @JsonProperty("amount of ehrs mapped")
+ long ehrCount;
@JsonProperty("amount of clinical data table rows added")
long convertedOmopEntities;
@JsonProperty("amount of compositions mapped")
long convertedCompositions;
- public EhrResponse(long convertedOmopEntities, long convertedCompositions) {
- this.convertedOmopEntities = convertedOmopEntities;
- this.convertedCompositions = convertedCompositions;
- }
-
public void increaseConvertedOmopEntities(long value) {
convertedOmopEntities += value;
}
+ public void setEhrCount(long value) {
+ ehrCount = value;
+ }
public void increaseConvertedCompositions(long value) {
convertedCompositions += value;
}
@@ -39,21 +44,23 @@ public long getConvertedCompositions() {
}
public String getJson() {
+ ehrResponse.setEhrCount(ehrIds.size());
ObjectMapper mapper = new ObjectMapper();
try {
- return mapper.writeValueAsString(ehrResponses);
+ return mapper.writeValueAsString(ehrResponse);
} catch (JsonProcessingException e) {
throw new UnprocessableEntityException("Error converting to json");
}
}
public void increaseOneComposition(String ehrId, int size) {
- if(ehrResponses.containsKey(ehrId)){
- EhrResponse ehrResponse = ehrResponses.get(ehrId);
+ if (ehrIds.contains(ehrId)) {
ehrResponse.increaseConvertedOmopEntities(size);
ehrResponse.increaseConvertedCompositions(1);
}else{
- ehrResponses.put(ehrId, new EhrResponse(1, size));
+ ehrIds.add(ehrId);
+ ehrResponse.increaseConvertedOmopEntities(size);
+ ehrResponse.increaseConvertedCompositions(1);
}
}
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index badd249..669b35c 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -28,6 +28,9 @@ spring:
hibernate:
default_schema: *schema
hibernate.ddl-auto: update
+ order_inserts: true
+ jdbc:
+ batch_size: 1000
datasource:
password: postgres
@@ -38,6 +41,8 @@ logging:
file:
name: ./logs/omopbridge.log
level:
+ org.hibernate.engine.jdbc.batch.internal.BatchingBatch: DEBUG
+ root: info
org:
springframework:
boot: error
@@ -53,3 +58,5 @@ logging:
max-file-size: 100MB
+
+
diff --git a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid.json b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid.json
index b9882bd..af110c4 100644
--- a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid.json
+++ b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid.json
@@ -1,84 +1,16 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-12-26T23:00:00.000+00:00",
- "visitStartDateTime": "2020-12-26T23:00:00.000+00:00",
- "visitEndDate": "2020-12-26T23:00:00.000+00:00",
- "visitEndDateTime": "2020-12-26T23:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
"drugConcept": {
"id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "conceptName": "SARS-CoV-2 (COVID-19) vaccine, mRNA spike protein",
+ "domainId": "Drug",
+ "vocabularyId": "RxNorm",
+ "conceptClassId": "Ingredient",
+ "standardConcept": "S",
+ "conceptCode": "2468231",
+ "validStartDate": "2021-01-03T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
@@ -181,13 +113,13 @@
"drugSourceValue": "1119349007",
"drugSourceConcept": {
"id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
+ "conceptName": "SARS-CoV-2 mRNA vaccine",
+ "domainId": "Drug",
+ "vocabularyId": "SNOMED",
+ "conceptClassId": "Pharma/Biol Product",
"standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "conceptCode": "1119349007",
+ "validStartDate": "2021-01-30T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
diff --git a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid_3_times.json b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid_3_times.json
index e10d089..9378a89 100644
--- a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid_3_times.json
+++ b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_covid_3_times.json
@@ -1,84 +1,16 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-12-26T23:00:00.000+00:00",
- "visitStartDateTime": "2020-12-26T23:00:00.000+00:00",
- "visitEndDate": "2020-12-26T23:00:00.000+00:00",
- "visitEndDateTime": "2020-12-26T23:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
"drugConcept": {
"id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "conceptName": "SARS-CoV-2 (COVID-19) vaccine, mRNA spike protein",
+ "domainId": "Drug",
+ "vocabularyId": "RxNorm",
+ "conceptClassId": "Ingredient",
+ "standardConcept": "S",
+ "conceptCode": "2468231",
+ "validStartDate": "2021-01-03T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
@@ -181,13 +113,13 @@
"drugSourceValue": "1119349007",
"drugSourceConcept": {
"id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
+ "conceptName": "SARS-CoV-2 mRNA vaccine",
+ "domainId": "Drug",
+ "vocabularyId": "SNOMED",
+ "conceptClassId": "Pharma/Biol Product",
"standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "conceptCode": "1119349007",
+ "validStartDate": "2021-01-30T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
diff --git a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_hep_a.json b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_hep_a.json
index f9fbac7..c70d353 100644
--- a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_hep_a.json
+++ b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_hep_a.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-05T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitEndDate": "2020-10-05T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_streptococcus.json b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_streptococcus.json
index 716432f..3c47820 100644
--- a/src/test/java/json/output/medical_data/action/medication_v1/vaccine_streptococcus.json
+++ b/src/test/java/json/output/medical_data/action/medication_v1/vaccine_streptococcus.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-05T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitEndDate": "2020-10-05T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/action/procedure_v1/apheresis.json b/src/test/java/json/output/medical_data/action/procedure_v1/apheresis.json
index e9f475c..cb2e93e 100644
--- a/src/test/java/json/output/medical_data/action/procedure_v1/apheresis.json
+++ b/src/test/java/json/output/medical_data/action/procedure_v1/apheresis.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-09-29T22:00:00.000+00:00",
- "visitStartDateTime": "2020-09-29T22:00:00.000+00:00",
- "visitEndDate": "2020-09-29T22:00:00.000+00:00",
- "visitEndDateTime": "2020-09-29T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/death_summary_v0/death.json b/src/test/java/json/output/medical_data/evaluation/death_summary_v0/death.json
index 11e5c81..2f5998c 100644
--- a/src/test/java/json/output/medical_data/evaluation/death_summary_v0/death.json
+++ b/src/test/java/json/output/medical_data/evaluation/death_summary_v0/death.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2022-09-27T11:37:26.757+00:00",
- "visitStartDateTime": "2022-09-27T11:37:26.757+00:00",
- "visitEndDate": "2022-09-27T11:37:26.757+00:00",
- "visitEndDateTime": "2022-09-27T11:37:26.757+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/device_summary_v0/medical_device.json b/src/test/java/json/output/medical_data/evaluation/device_summary_v0/medical_device.json
index 0ee8ae6..53ddc92 100644
--- a/src/test/java/json/output/medical_data/evaluation/device_summary_v0/medical_device.json
+++ b/src/test/java/json/output/medical_data/evaluation/device_summary_v0/medical_device.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2022-09-29T15:54:08.131+00:00",
- "visitStartDateTime": "2022-09-29T15:54:08.131+00:00",
- "visitEndDate": "2022-09-29T15:54:08.131+00:00",
- "visitEndDateTime": "2022-09-29T15:54:08.131+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/cardiovascular_disease.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/cardiovascular_disease.json
index ed9015a..13dbe1e 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/cardiovascular_disease.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/cardiovascular_disease.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-05T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitEndDate": "2020-10-05T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_kidney_disease.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_kidney_disease.json
index 0fb64d6..8fa05fc 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_kidney_disease.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_kidney_disease.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-28T16:01:09.000+00:00",
- "visitStartDateTime": "2020-10-28T16:01:09.000+00:00",
- "visitEndDate": "2020-10-28T16:01:09.000+00:00",
- "visitEndDateTime": "2020-10-28T16:01:09.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_liver_disease.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_liver_disease.json
index 9e8ce65..f629e1b 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_liver_disease.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_liver_disease.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-05T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitEndDate": "2020-10-05T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_lung_disease.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_lung_disease.json
index cd36b3b..5b5d1bd 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_lung_disease.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_lung_disease.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-05T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitEndDate": "2020-10-05T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_neurological_mental_disease.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_neurological_mental_disease.json
index 51cae48..20d1a2d 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_neurological_mental_disease.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/chronic_neurological_mental_disease.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-05T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitEndDate": "2020-10-05T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/complications_covid.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/complications_covid.json
index 85866af..b3fc74b 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/complications_covid.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/complications_covid.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-15T14:07:48.000+00:00",
- "visitStartDateTime": "2020-10-15T14:07:48.000+00:00",
- "visitEndDate": "2020-10-15T14:07:48.000+00:00",
- "visitEndDateTime": "2020-10-15T14:07:48.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/diabetes_mellitus.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/diabetes_mellitus.json
index 287e1b2..b10478c 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/diabetes_mellitus.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/diabetes_mellitus.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-05T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitEndDate": "2020-10-05T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-05T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/organ_recipient.json b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/organ_recipient.json
index 03e6655..58846f6 100644
--- a/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/organ_recipient.json
+++ b/src/test/java/json/output/medical_data/evaluation/problem_diagnosis_v1/organ_recipient.json
@@ -1,84 +1,16 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-04T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-04T22:00:00.000+00:00",
- "visitEndDate": "2020-10-04T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-04T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
"conditionConcept": {
"id": "##ignore",
- "conceptName": "H/O: tissue/organ recipient",
+ "conceptName": "History of event",
"domainId": "Observation",
- "vocabularyId": "SNOMED",
+ "vocabularyId": "OMOP Extension",
"conceptClassId": "Context-dependent",
"standardConcept": "S",
- "conceptCode": "161663000",
- "validStartDate": "2002-01-30T23:00:00.000+00:00",
+ "conceptCode": "OMOP5165859",
+ "validStartDate": "2022-05-05T22:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
@@ -178,7 +110,7 @@
"domainId": "Observation",
"vocabularyId": "SNOMED",
"conceptClassId": "Context-dependent",
- "standardConcept": "S",
+ "standardConcept": null,
"conceptCode": "161663000",
"validStartDate": "2002-01-30T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
diff --git a/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/current.json b/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/current.json
index 866a01e..6953dfd 100644
--- a/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/current.json
+++ b/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/current.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-09-20T22:00:00.000+00:00",
- "visitStartDateTime": "2020-09-20T22:00:00.000+00:00",
- "visitEndDate": "2020-09-20T22:00:00.000+00:00",
- "visitEndDateTime": "2020-09-20T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/never.json b/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/never.json
index 4092085..2ccbf6f 100644
--- a/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/never.json
+++ b/src/test/java/json/output/medical_data/evaluation/tobacco_smoking_summary_v1/never.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-09-20T22:00:00.000+00:00",
- "visitStartDateTime": "2020-09-20T22:00:00.000+00:00",
- "visitEndDate": "2020-09-20T22:00:00.000+00:00",
- "visitEndDateTime": "2020-09-20T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_order_v2/multiple_entries.json b/src/test/java/json/output/medical_data/instruction/medication_order_v2/multiple_entries.json
index cb82477..4bcb57f 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_order_v2/multiple_entries.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_order_v2/multiple_entries.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2012-09-16T22:00:00.000+00:00",
- "visitStartDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitEndDate": "2012-09-16T22:00:00.000+00:00",
- "visitEndDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_order_v2/no_coded_name.json b/src/test/java/json/output/medical_data/instruction/medication_order_v2/no_coded_name.json
index ee14177..6ccd07b 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_order_v2/no_coded_name.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_order_v2/no_coded_name.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2012-09-16T22:00:00.000+00:00",
- "visitStartDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitEndDate": "2012-09-16T22:00:00.000+00:00",
- "visitEndDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_route.json b/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_route.json
index 5905d3e..902b100 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_route.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_route.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2012-09-16T22:00:00.000+00:00",
- "visitStartDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitEndDate": "2012-09-16T22:00:00.000+00:00",
- "visitEndDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_trade_name.json b/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_trade_name.json
index 5905d3e..902b100 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_trade_name.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_order_v2/with_trade_name.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2012-09-16T22:00:00.000+00:00",
- "visitStartDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitEndDate": "2012-09-16T22:00:00.000+00:00",
- "visitEndDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace.json b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace.json
index 469c925..485eae4 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-19T06:43:33.000+00:00",
- "visitStartDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitEndDate": "2020-10-19T06:43:33.000+00:00",
- "visitEndDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace_with_reason.json b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace_with_reason.json
index 469c925..485eae4 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace_with_reason.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/ace_with_reason.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-19T06:43:33.000+00:00",
- "visitStartDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitEndDate": "2020-10-19T06:43:33.000+00:00",
- "visitEndDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/anticoagulant.json b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/anticoagulant.json
index 3542740..171b171 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/anticoagulant.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/anticoagulant.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-19T06:43:33.000+00:00",
- "visitStartDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitEndDate": "2020-10-19T06:43:33.000+00:00",
- "visitEndDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/multiple_entries.json b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/multiple_entries.json
index dea4755..4af88e9 100644
--- a/src/test/java/json/output/medical_data/instruction/medication_statement_v0/multiple_entries.json
+++ b/src/test/java/json/output/medical_data/instruction/medication_statement_v0/multiple_entries.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-19T06:43:33.000+00:00",
- "visitStartDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitEndDate": "2020-10-19T06:43:33.000+00:00",
- "visitEndDateTime": "2020-10-19T06:43:33.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/observation/blood_pressure_v2/blood_pressure.json b/src/test/java/json/output/medical_data/observation/blood_pressure_v2/blood_pressure.json
index efb1aeb..0b8a457 100644
--- a/src/test/java/json/output/medical_data/observation/blood_pressure_v2/blood_pressure.json
+++ b/src/test/java/json/output/medical_data/observation/blood_pressure_v2/blood_pressure.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2012-09-16T22:00:00.000+00:00",
- "visitStartDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitEndDate": "2012-09-16T22:00:00.000+00:00",
- "visitEndDateTime": "2012-09-16T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_100_inch.json b/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_100_inch.json
index 25d33ad..30a42ad 100644
--- a/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_100_inch.json
+++ b/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_100_inch.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-01T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-01T22:00:00.000+00:00",
- "visitEndDate": "2020-10-01T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-01T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
@@ -99,7 +31,7 @@
"idAsLong": "##ignore"
},
"operatorConcept": null,
- "valueAsNumber": 100,
+ "valueAsNumber": 130,
"valueAsConcept": null,
"unitConcept": {
"id": "##ignore",
@@ -130,7 +62,74 @@
"rangeLow": null,
"rangeHigh": null,
"provider": null,
- "visitOccurrence": null,
+ "visitOccurrence": {
+ "id": "##ignore",
+ "person": "##ignore",
+ "visitConcept": {
+ "id": "##ignore",
+ "conceptName": "Inpatient Visit",
+ "domainId": "Visit",
+ "vocabularyId": "Visit",
+ "conceptClassId": "Visit",
+ "standardConcept": "S",
+ "conceptCode": "IP",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "visitStartDate": "2020-10-01T22:00:00.000+00:00",
+ "visitStartDateTime": "2020-10-01T22:00:00.000+00:00",
+ "visitEndDate": "2020-10-01T22:00:00.000+00:00",
+ "visitEndDateTime": "2020-10-01T22:00:00.000+00:00",
+ "visitTypeConcept": {
+ "id": "##ignore",
+ "conceptName": "EHR",
+ "domainId": "Type Concept",
+ "vocabularyId": "Type Concept",
+ "conceptClassId": "Type Concept",
+ "standardConcept": "S",
+ "conceptCode": "OMOP4976890",
+ "validStartDate": "2020-08-19T22:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "provider": null,
+ "careSite": null,
+ "visitSourceValue": null,
+ "visitSourceConcept": null,
+ "admittedFromConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "admittedFromSourceValue": null,
+ "dischargedToConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "dischargedToSourceValue": null,
+ "precedingVisitOccurrence": null,
+ "idAsLong": "##ignore"
+ },
"visitDetail": null,
"measurementSourceValue": "3036277",
"measurementSourceConcept": {
@@ -147,7 +146,9 @@
"idAsLong": "##ignore"
},
"unitSourceValue": "[in_i]",
- "valueSourceValue": "100.0",
+ "valueSourceValue": "130.0",
+ "measurementEventId": null,
+ "measEventFieldConceptId": null,
"time": null,
"idAsLong": "##ignore"
}
diff --git a/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_168_cm.json b/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_168_cm.json
index a430dcd..08d4ce9 100644
--- a/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_168_cm.json
+++ b/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_168_cm.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-01T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-01T22:00:00.000+00:00",
- "visitEndDate": "2020-10-01T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-01T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
@@ -99,7 +31,7 @@
"idAsLong": "##ignore"
},
"operatorConcept": null,
- "valueAsNumber": 168,
+ "valueAsNumber": 0,
"valueAsConcept": null,
"unitConcept": {
"id": "##ignore",
@@ -130,7 +62,74 @@
"rangeLow": null,
"rangeHigh": null,
"provider": null,
- "visitOccurrence": null,
+ "visitOccurrence": {
+ "id": "##ignore",
+ "person": "##ignore",
+ "visitConcept": {
+ "id": "##ignore",
+ "conceptName": "Inpatient Visit",
+ "domainId": "Visit",
+ "vocabularyId": "Visit",
+ "conceptClassId": "Visit",
+ "standardConcept": "S",
+ "conceptCode": "IP",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "visitStartDate": "2020-10-01T22:00:00.000+00:00",
+ "visitStartDateTime": "2020-10-01T22:00:00.000+00:00",
+ "visitEndDate": "2020-10-01T22:00:00.000+00:00",
+ "visitEndDateTime": "2020-10-01T22:00:00.000+00:00",
+ "visitTypeConcept": {
+ "id": "##ignore",
+ "conceptName": "EHR",
+ "domainId": "Type Concept",
+ "vocabularyId": "Type Concept",
+ "conceptClassId": "Type Concept",
+ "standardConcept": "S",
+ "conceptCode": "OMOP4976890",
+ "validStartDate": "2020-08-19T22:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "provider": null,
+ "careSite": null,
+ "visitSourceValue": null,
+ "visitSourceConcept": null,
+ "admittedFromConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "admittedFromSourceValue": null,
+ "dischargedToConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "dischargedToSourceValue": null,
+ "precedingVisitOccurrence": null,
+ "idAsLong": "##ignore"
+ },
"visitDetail": null,
"measurementSourceValue": "3036277",
"measurementSourceConcept": {
@@ -147,7 +146,9 @@
"idAsLong": "##ignore"
},
"unitSourceValue": "cm",
- "valueSourceValue": "168.0",
+ "valueSourceValue": "0.0",
+ "measurementEventId": null,
+ "measEventFieldConceptId": null,
"time": null,
"idAsLong": "##ignore"
}
diff --git a/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_210_cm.json b/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_210_cm.json
index 83b78c7..241e747 100644
--- a/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_210_cm.json
+++ b/src/test/java/json/output/medical_data/observation/body_height_v2/body_height_210_cm.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-10-01T22:00:00.000+00:00",
- "visitStartDateTime": "2020-10-01T22:00:00.000+00:00",
- "visitEndDate": "2020-10-01T22:00:00.000+00:00",
- "visitEndDateTime": "2020-10-01T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
@@ -130,7 +62,74 @@
"rangeLow": null,
"rangeHigh": null,
"provider": null,
- "visitOccurrence": null,
+ "visitOccurrence": {
+ "id": "##ignore",
+ "person": "##ignore",
+ "visitConcept": {
+ "id": "##ignore",
+ "conceptName": "Inpatient Visit",
+ "domainId": "Visit",
+ "vocabularyId": "Visit",
+ "conceptClassId": "Visit",
+ "standardConcept": "S",
+ "conceptCode": "IP",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "visitStartDate": "2020-10-01T22:00:00.000+00:00",
+ "visitStartDateTime": "2020-10-01T22:00:00.000+00:00",
+ "visitEndDate": "2020-10-01T22:00:00.000+00:00",
+ "visitEndDateTime": "2020-10-01T22:00:00.000+00:00",
+ "visitTypeConcept": {
+ "id": "##ignore",
+ "conceptName": "EHR",
+ "domainId": "Type Concept",
+ "vocabularyId": "Type Concept",
+ "conceptClassId": "Type Concept",
+ "standardConcept": "S",
+ "conceptCode": "OMOP4976890",
+ "validStartDate": "2020-08-19T22:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "provider": null,
+ "careSite": null,
+ "visitSourceValue": null,
+ "visitSourceConcept": null,
+ "admittedFromConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "admittedFromSourceValue": null,
+ "dischargedToConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "dischargedToSourceValue": null,
+ "precedingVisitOccurrence": null,
+ "idAsLong": "##ignore"
+ },
"visitDetail": null,
"measurementSourceValue": "3036277",
"measurementSourceConcept": {
@@ -148,6 +147,8 @@
},
"unitSourceValue": "cm",
"valueSourceValue": "210.0",
+ "measurementEventId": null,
+ "measEventFieldConceptId": null,
"time": null,
"idAsLong": "##ignore"
}
diff --git a/src/test/java/json/output/medical_data/observation/body_mass_index_v2/body_mass_index_96.json b/src/test/java/json/output/medical_data/observation/body_mass_index_v2/body_mass_index_96.json
index 5ed34d0..86ad21f 100644
--- a/src/test/java/json/output/medical_data/observation/body_mass_index_v2/body_mass_index_96.json
+++ b/src/test/java/json/output/medical_data/observation/body_mass_index_v2/body_mass_index_96.json
@@ -2,24 +2,22 @@
{
"id": "##ignore",
"person": "##ignore",
- "visitConcept": {
+ "measurementConcept": {
"id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
+ "conceptName": "Body mass index",
+ "domainId": "Measurement",
+ "vocabularyId": "SNOMED",
+ "conceptClassId": "Observable Entity",
"standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "conceptCode": "60621009",
+ "validStartDate": "2002-01-30T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
},
- "visitStartDate": "2022-09-26T11:11:20.959+00:00",
- "visitStartDateTime": "2022-09-26T11:11:20.959+00:00",
- "visitEndDate": "2022-09-26T11:11:20.959+00:00",
- "visitEndDateTime": "2022-09-26T11:11:20.959+00:00",
- "visitTypeConcept": {
+ "measurementDate": "2022-09-26T11:11:21.039+00:00",
+ "measurementDateTime": "2022-09-26T11:11:21.039+00:00",
+ "measurementTypeConcept": {
"id": "##ignore",
"conceptName": "EHR",
"domainId": "Type Concept",
@@ -32,39 +30,126 @@
"invalidReason": null,
"idAsLong": "##ignore"
},
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
+ "operatorConcept": null,
+ "valueAsNumber": 48.1,
+ "valueAsConcept": null,
+ "unitConcept": {
"id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
+ "conceptName": "kilogram per square meter",
+ "domainId": "Unit",
+ "vocabularyId": "UCUM",
+ "conceptClassId": "Unit",
+ "standardConcept": "S",
+ "conceptCode": "kg/m2",
"validStartDate": "1969-12-31T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
},
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
+ "unitSourceConcept": {
"id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
+ "conceptName": "kilogram per square meter",
+ "domainId": "Unit",
+ "vocabularyId": "UCUM",
+ "conceptClassId": "Unit",
+ "standardConcept": "S",
+ "conceptCode": "kg/m2",
"validStartDate": "1969-12-31T23:00:00.000+00:00",
"validEndDate": "2099-12-30T23:00:00.000+00:00",
"invalidReason": null,
"idAsLong": "##ignore"
},
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
+ "rangeLow": null,
+ "rangeHigh": null,
+ "provider": null,
+ "visitOccurrence": {
+ "id": "##ignore",
+ "person": "##ignore",
+ "visitConcept": {
+ "id": "##ignore",
+ "conceptName": "Inpatient Visit",
+ "domainId": "Visit",
+ "vocabularyId": "Visit",
+ "conceptClassId": "Visit",
+ "standardConcept": "S",
+ "conceptCode": "IP",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "visitStartDate": "2022-09-26T11:11:20.959+00:00",
+ "visitStartDateTime": "2022-09-26T11:11:20.959+00:00",
+ "visitEndDate": "2022-09-26T11:11:20.959+00:00",
+ "visitEndDateTime": "2022-09-26T11:11:20.959+00:00",
+ "visitTypeConcept": {
+ "id": "##ignore",
+ "conceptName": "EHR",
+ "domainId": "Type Concept",
+ "vocabularyId": "Type Concept",
+ "conceptClassId": "Type Concept",
+ "standardConcept": "S",
+ "conceptCode": "OMOP4976890",
+ "validStartDate": "2020-08-19T22:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "provider": null,
+ "careSite": null,
+ "visitSourceValue": null,
+ "visitSourceConcept": null,
+ "admittedFromConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "admittedFromSourceValue": null,
+ "dischargedToConcept": {
+ "id": "##ignore",
+ "conceptName": "No matching concept",
+ "domainId": "Metadata",
+ "vocabularyId": "None",
+ "conceptClassId": "Undefined",
+ "standardConcept": null,
+ "conceptCode": "No matching concept",
+ "validStartDate": "1969-12-31T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "dischargedToSourceValue": null,
+ "precedingVisitOccurrence": null,
+ "idAsLong": "##ignore"
+ },
+ "visitDetail": null,
+ "measurementSourceValue": "4245997",
+ "measurementSourceConcept": {
+ "id": "##ignore",
+ "conceptName": "Body mass index",
+ "domainId": "Measurement",
+ "vocabularyId": "SNOMED",
+ "conceptClassId": "Observable Entity",
+ "standardConcept": "S",
+ "conceptCode": "60621009",
+ "validStartDate": "2002-01-30T23:00:00.000+00:00",
+ "validEndDate": "2099-12-30T23:00:00.000+00:00",
+ "invalidReason": null,
+ "idAsLong": "##ignore"
+ },
+ "unitSourceValue": "kg/m2",
+ "valueSourceValue": "48.1",
+ "measurementEventId": null,
+ "measEventFieldConceptId": null,
+ "time": null,
"idAsLong": "##ignore"
}
]
diff --git a/src/test/java/json/output/medical_data/observation/body_temperature_v2/body_temp.json b/src/test/java/json/output/medical_data/observation/body_temperature_v2/body_temp.json
index be8d7e2..d251044 100644
--- a/src/test/java/json/output/medical_data/observation/body_temperature_v2/body_temp.json
+++ b/src/test/java/json/output/medical_data/observation/body_temperature_v2/body_temp.json
@@ -1,72 +1,4 @@
[
- {
- "id": "##ignore",
- "person": "##ignore",
- "visitConcept": {
- "id": "##ignore",
- "conceptName": "Inpatient Visit",
- "domainId": "Visit",
- "vocabularyId": "Visit",
- "conceptClassId": "Visit",
- "standardConcept": "S",
- "conceptCode": "IP",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "visitStartDate": "2020-09-24T22:00:00.000+00:00",
- "visitStartDateTime": "2020-09-24T22:00:00.000+00:00",
- "visitEndDate": "2020-09-24T22:00:00.000+00:00",
- "visitEndDateTime": "2020-09-24T22:00:00.000+00:00",
- "visitTypeConcept": {
- "id": "##ignore",
- "conceptName": "EHR",
- "domainId": "Type Concept",
- "vocabularyId": "Type Concept",
- "conceptClassId": "Type Concept",
- "standardConcept": "S",
- "conceptCode": "OMOP4976890",
- "validStartDate": "2020-08-19T22:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "provider": null,
- "careSite": null,
- "visitSourceValue": null,
- "visitSourceConcept": null,
- "admittedFromConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "admittedFromSourceValue": null,
- "dischargedToConcept": {
- "id": "##ignore",
- "conceptName": "No matching concept",
- "domainId": "Metadata",
- "vocabularyId": "None",
- "conceptClassId": "Undefined",
- "standardConcept": null,
- "conceptCode": "No matching concept",
- "validStartDate": "1969-12-31T23:00:00.000+00:00",
- "validEndDate": "2099-12-30T23:00:00.000+00:00",
- "invalidReason": null,
- "idAsLong": "##ignore"
- },
- "dischargedToSourceValue": null,
- "precedingVisitOccurrence": null,
- "idAsLong": "##ignore"
- },
{
"id": "##ignore",
"person": "##ignore",
diff --git a/src/test/java/karate-config.js b/src/test/java/karate-config.js
index 80e8005..2ad6320 100644
--- a/src/test/java/karate-config.js
+++ b/src/test/java/karate-config.js
@@ -2,7 +2,7 @@ function fn() {
var config = {
baseUrl: 'http://localhost:8081',
- ehrId: '0fcbfd31-d5d9-46f9-a325-51dcde5f6d56',
+ ehrId: '77f6774b-c8aa-4826-8415-afcb25bc4001',
action_composition_path: 'classpath:json/compositions/medical_data/action/',
evaluation_composition_path: 'classpath:json/compositions/medical_data/evaluation/',
instruction_composition_path: 'classpath:json/compositions/medical_data/instruction/',