diff --git a/pom.xml b/pom.xml index 2c0516d..9390ef4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ edu.gatech VRDR - v0.1.8-R4 + v1.0.0-R4 jar VRDR diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentEducationLevel.java b/src/main/java/edu/gatech/VRDR/model/DecedentEducationLevel.java deleted file mode 100644 index cd874d8..0000000 --- a/src/main/java/edu/gatech/VRDR/model/DecedentEducationLevel.java +++ /dev/null @@ -1,17 +0,0 @@ -package edu.gatech.VRDR.model; - -import org.hl7.fhir.r4.model.Observation; - -import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentEducationLevelUtil; - -@ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent-Education-Level") -public class DecedentEducationLevel extends Observation { - public DecedentEducationLevel() { - super(); - CommonUtil.initResource(this); - setStatus(DecedentEducationLevelUtil.status); - setCode(DecedentEducationLevelUtil.code); - } -} diff --git a/src/main/java/edu/gatech/VRDR/model/InjuryIncident.java b/src/main/java/edu/gatech/VRDR/model/InjuryIncident.java deleted file mode 100644 index 046ad4b..0000000 --- a/src/main/java/edu/gatech/VRDR/model/InjuryIncident.java +++ /dev/null @@ -1,64 +0,0 @@ -package edu.gatech.VRDR.model; - -import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Extension; -import org.hl7.fhir.r4.model.Location; -import org.hl7.fhir.r4.model.Observation; -import org.hl7.fhir.r4.model.Reference; -import org.hl7.fhir.r4.model.StringType; - -import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DeathDateUtil; -import edu.gatech.VRDR.model.util.InjuryIncidentUtil; - -@ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Injury-Incident") -public class InjuryIncident extends Observation { - - public InjuryIncident() { - super(); - CommonUtil.initResource(this); - setStatus(InjuryIncidentUtil.status); - setCode(InjuryIncidentUtil.code); - } - - public InjuryIncident(Decedent decendent, String placeOfInjury, CodeableConcept injuredAtWorkBoolean, - CodeableConcept transportationRelationship) { - this(); - addPlaceOfInjuryComponent(placeOfInjury); - addInjuredAtWorkBooleanComponent(injuredAtWorkBoolean); - addtransportationRelationshipComponent(transportationRelationship); - } - - public void addPatientLocationExtension(Location location) { - Extension extension = new Extension(DeathDateUtil.patientLocationExtensionURL); - Reference reference = new Reference(location.getId()); - extension.setValue(reference); - this.addExtension(extension); - } - - public Extension getPatientLocationExtension() { - return CommonUtil.getExtension(this, DeathDateUtil.patientLocationExtensionURL); - } - - public void addPlaceOfInjuryComponent(String placeOfInjury) { - ObservationComponentComponent component = new ObservationComponentComponent(); - component.setCode(InjuryIncidentUtil.componentPlaceofInjuryCode); - component.setValue(new StringType(placeOfInjury)); - addComponent(component); - } - - public void addInjuredAtWorkBooleanComponent(CodeableConcept injuredAtWorkBoolean) { - ObservationComponentComponent component = new ObservationComponentComponent(); - component.setCode(InjuryIncidentUtil.componentInjuryAtWorkCode); - component.setValue(injuredAtWorkBoolean); - addComponent(component); - } - - public void addtransportationRelationshipComponent(CodeableConcept transportationRelationship) { - ObservationComponentComponent component = new ObservationComponentComponent(); - component.setCode(InjuryIncidentUtil.componentInjuryLeadingToDeathVechicleCode); - component.setValue(transportationRelationship); - addComponent(component); - } -} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/MannerOfDeath.java b/src/main/java/edu/gatech/VRDR/model/MannerOfDeath.java deleted file mode 100644 index a2f86fc..0000000 --- a/src/main/java/edu/gatech/VRDR/model/MannerOfDeath.java +++ /dev/null @@ -1,27 +0,0 @@ -package edu.gatech.VRDR.model; - -import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Observation; -import org.hl7.fhir.r4.model.Reference; - -import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.MannerOfDeathUtil; - -@ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Manner-of-Death") -public class MannerOfDeath extends Observation { - - public MannerOfDeath() { - super(); - CommonUtil.initResource(this); - setStatus(MannerOfDeathUtil.status); - setCode(MannerOfDeathUtil.code); - } - - public MannerOfDeath(CodeableConcept manner, Decedent decedent, Certifier certifier) { - this(); - setValue(manner); - setSubject(new Reference(decedent.getId())); - this.addPerformer(new Reference(certifier.getId())); - } -} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentEducationLevelUtil.java b/src/main/java/edu/gatech/VRDR/model/util/DecedentEducationLevelUtil.java deleted file mode 100644 index cc5b94f..0000000 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentEducationLevelUtil.java +++ /dev/null @@ -1,11 +0,0 @@ -package edu.gatech.VRDR.model.util; - -import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Coding; -import org.hl7.fhir.r4.model.Observation.ObservationStatus; - -public class DecedentEducationLevelUtil { - public static final ObservationStatus status = ObservationStatus.FINAL; - public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "80913-7", "Highest level of education")); -} diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentTransportationRoleUtil.java b/src/main/java/edu/gatech/VRDR/model/util/DecedentTransportationRoleUtil.java deleted file mode 100644 index 1f6da8b..0000000 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentTransportationRoleUtil.java +++ /dev/null @@ -1,13 +0,0 @@ -package edu.gatech.VRDR.model.util; - -import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Coding; -import org.hl7.fhir.r4.model.Observation; -import org.hl7.fhir.r4.model.Observation.ObservationStatus; - -public class DecedentTransportationRoleUtil { - public static final Observation.ObservationStatus status = ObservationStatus.FINAL; - public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("69451-3") - .setDisplay("Transportation role of decedent")); -} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/FuneralHomeUtil.java b/src/main/java/edu/gatech/VRDR/model/util/FuneralHomeUtil.java deleted file mode 100644 index 3ff5b8c..0000000 --- a/src/main/java/edu/gatech/VRDR/model/util/FuneralHomeUtil.java +++ /dev/null @@ -1,9 +0,0 @@ -package edu.gatech.VRDR.model.util; - -import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Coding; - -public class FuneralHomeUtil { - public static final CodeableConcept type = new CodeableConcept() - .addCoding(new Coding().setCode("bus").setDisplay("Non-Healthcare Business or Corporation")); -} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/InjuryIncidentUtil.java b/src/main/java/edu/gatech/VRDR/model/util/InjuryIncidentUtil.java deleted file mode 100644 index d37bfca..0000000 --- a/src/main/java/edu/gatech/VRDR/model/util/InjuryIncidentUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package edu.gatech.VRDR.model.util; - -import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Coding; -import org.hl7.fhir.r4.model.Observation.ObservationStatus; - -public class InjuryIncidentUtil { - public static final ObservationStatus status = ObservationStatus.FINAL; - public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "11374-6", "Injury incident description")); - public static final CodeableConcept componentPlaceofInjuryCode = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "69450-5", "Place of injury")); - public static final CodeableConcept componentInjuryAtWorkCode = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "69448-9", "Did death result from injury at work")); - public static final CodeableConcept componentInjuryLeadingToDeathVechicleCode = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "69450-5", - "Injury leading to death associated with transportation event")); -} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/MannerOfDeathUtil.java b/src/main/java/edu/gatech/VRDR/model/util/MannerOfDeathUtil.java deleted file mode 100644 index b9f6d91..0000000 --- a/src/main/java/edu/gatech/VRDR/model/util/MannerOfDeathUtil.java +++ /dev/null @@ -1,11 +0,0 @@ -package edu.gatech.VRDR.model.util; - -import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Coding; -import org.hl7.fhir.r4.model.Observation.ObservationStatus; - -public class MannerOfDeathUtil { - public static final ObservationStatus status = ObservationStatus.FINAL; - public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "69449-7", "Manner of death")); -} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/context/VRDRFhirContext.java b/src/main/java/edu/gatech/chai/VRDR/context/VRDRFhirContext.java similarity index 72% rename from src/main/java/edu/gatech/VRDR/context/VRDRFhirContext.java rename to src/main/java/edu/gatech/chai/VRDR/context/VRDRFhirContext.java index 4d7ab28..a078bbb 100644 --- a/src/main/java/edu/gatech/VRDR/context/VRDRFhirContext.java +++ b/src/main/java/edu/gatech/chai/VRDR/context/VRDRFhirContext.java @@ -1,39 +1,39 @@ -package edu.gatech.VRDR.context; +package edu.gatech.chai.VRDR.context; import ca.uhn.fhir.context.FhirContext; -import edu.gatech.VRDR.model.AutopsyPerformedIndicator; -import edu.gatech.VRDR.model.BirthRecordIdentifier; -import edu.gatech.VRDR.model.CauseOfDeathCondition; -import edu.gatech.VRDR.model.CauseOfDeathPathway; -import edu.gatech.VRDR.model.Certifier; -import edu.gatech.VRDR.model.ConditionContributingToDeath; -import edu.gatech.VRDR.model.DeathCertificate; -import edu.gatech.VRDR.model.DeathCertificateDocument; -import edu.gatech.VRDR.model.DeathCertificateReference; -import edu.gatech.VRDR.model.DeathCertification; -import edu.gatech.VRDR.model.DeathDate; -import edu.gatech.VRDR.model.DeathLocation; -import edu.gatech.VRDR.model.DeathPronouncementPerformer; -import edu.gatech.VRDR.model.Decedent; -import edu.gatech.VRDR.model.DecedentAge; -import edu.gatech.VRDR.model.DecedentDispositionMethod; -import edu.gatech.VRDR.model.DecedentEducationLevel; -import edu.gatech.VRDR.model.DecedentUsualWork; -import edu.gatech.VRDR.model.DecedentFather; -import edu.gatech.VRDR.model.DecedentMother; -import edu.gatech.VRDR.model.DecedentPregnancy; -import edu.gatech.VRDR.model.DecedentSpouse; -import edu.gatech.VRDR.model.DecedentTransportationRole; -import edu.gatech.VRDR.model.DispositionLocation; -import edu.gatech.VRDR.model.ExaminerContacted; -import edu.gatech.VRDR.model.FuneralHome; -import edu.gatech.VRDR.model.FuneralServiceLicensee; -import edu.gatech.VRDR.model.InjuryIncident; -import edu.gatech.VRDR.model.InjuryLocation; -import edu.gatech.VRDR.model.InterestedParty; -import edu.gatech.VRDR.model.MannerOfDeath; -import edu.gatech.VRDR.model.Mortician; -import edu.gatech.VRDR.model.TobaccoUseContributedToDeath; +import edu.gatech.chai.VRDR.model.AutopsyPerformedIndicator; +import edu.gatech.chai.VRDR.model.BirthRecordIdentifier; +import edu.gatech.chai.VRDR.model.CauseOfDeathCondition; +import edu.gatech.chai.VRDR.model.CauseOfDeathPathway; +import edu.gatech.chai.VRDR.model.Certifier; +import edu.gatech.chai.VRDR.model.ConditionContributingToDeath; +import edu.gatech.chai.VRDR.model.DeathCertificate; +import edu.gatech.chai.VRDR.model.DeathCertificateDocument; +import edu.gatech.chai.VRDR.model.DeathCertificateReference; +import edu.gatech.chai.VRDR.model.DeathCertification; +import edu.gatech.chai.VRDR.model.DeathDate; +import edu.gatech.chai.VRDR.model.DeathLocation; +import edu.gatech.chai.VRDR.model.DeathPronouncementPerformer; +import edu.gatech.chai.VRDR.model.Decedent; +import edu.gatech.chai.VRDR.model.DecedentAge; +import edu.gatech.chai.VRDR.model.DecedentDispositionMethod; +import edu.gatech.chai.VRDR.model.DecedentEducationLevel; +import edu.gatech.chai.VRDR.model.DecedentFather; +import edu.gatech.chai.VRDR.model.DecedentMother; +import edu.gatech.chai.VRDR.model.DecedentPregnancy; +import edu.gatech.chai.VRDR.model.DecedentSpouse; +import edu.gatech.chai.VRDR.model.DecedentTransportationRole; +import edu.gatech.chai.VRDR.model.DecedentUsualWork; +import edu.gatech.chai.VRDR.model.DispositionLocation; +import edu.gatech.chai.VRDR.model.ExaminerContacted; +import edu.gatech.chai.VRDR.model.FuneralHome; +import edu.gatech.chai.VRDR.model.FuneralServiceLicensee; +import edu.gatech.chai.VRDR.model.InjuryIncident; +import edu.gatech.chai.VRDR.model.InjuryLocation; +import edu.gatech.chai.VRDR.model.InterestedParty; +import edu.gatech.chai.VRDR.model.MannerOfDeath; +import edu.gatech.chai.VRDR.model.Mortician; +import edu.gatech.chai.VRDR.model.TobaccoUseContributedToDeath; public class VRDRFhirContext { FhirContext ctx; diff --git a/src/main/java/edu/gatech/VRDR/model/AutopsyPerformedIndicator.java b/src/main/java/edu/gatech/chai/VRDR/model/AutopsyPerformedIndicator.java similarity index 73% rename from src/main/java/edu/gatech/VRDR/model/AutopsyPerformedIndicator.java rename to src/main/java/edu/gatech/chai/VRDR/model/AutopsyPerformedIndicator.java index 567f1ea..aa59177 100644 --- a/src/main/java/edu/gatech/VRDR/model/AutopsyPerformedIndicator.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/AutopsyPerformedIndicator.java @@ -1,12 +1,12 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Observation; import org.hl7.fhir.r4.model.Reference; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.AutopsyPerformedIndicatorUtil; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.AutopsyPerformedIndicatorUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Autopsy-Performed-Indicator") public class AutopsyPerformedIndicator extends Observation { @@ -39,6 +39,13 @@ public AutopsyPerformedIndicator(CodeableConcept autopsyPerformed,CodeableConcep this(autopsyPerformed); addAutopsyResultsAvailableComponent(resultsAvailable); } + + public AutopsyPerformedIndicator(String autopsyPerformed,String resultsAvailable) { + CodeableConcept autopsyPerformedConcept = CommonUtil.findConceptFromCollectionUsingSimpleString(autopsyPerformed, AutopsyPerformedIndicatorUtil.booleanSet); + CodeableConcept autopsyResultsAvailableConcept = CommonUtil.findConceptFromCollectionUsingSimpleString(resultsAvailable, AutopsyPerformedIndicatorUtil.booleanSet); + setValue(autopsyPerformedConcept); + addAutopsyResultsAvailableComponent(autopsyResultsAvailableConcept); + } public void setDecedent(Decedent decedent) { Reference reference = new Reference(decedent.getId()); diff --git a/src/main/java/edu/gatech/VRDR/model/BirthRecordIdentifier.java b/src/main/java/edu/gatech/chai/VRDR/model/BirthRecordIdentifier.java similarity index 94% rename from src/main/java/edu/gatech/VRDR/model/BirthRecordIdentifier.java rename to src/main/java/edu/gatech/chai/VRDR/model/BirthRecordIdentifier.java index 1e777d0..a921c80 100644 --- a/src/main/java/edu/gatech/VRDR/model/BirthRecordIdentifier.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/BirthRecordIdentifier.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.DateTimeType; @@ -6,8 +6,8 @@ import org.hl7.fhir.r4.model.StringType; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.BirthRecordIdentifierUtil; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.BirthRecordIdentifierUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-BirthRecordIdentifier") public class BirthRecordIdentifier extends Observation { diff --git a/src/main/java/edu/gatech/VRDR/model/CauseOfDeathCondition.java b/src/main/java/edu/gatech/chai/VRDR/model/CauseOfDeathCondition.java similarity index 81% rename from src/main/java/edu/gatech/VRDR/model/CauseOfDeathCondition.java rename to src/main/java/edu/gatech/chai/VRDR/model/CauseOfDeathCondition.java index d52bc20..4e297cc 100644 --- a/src/main/java/edu/gatech/VRDR/model/CauseOfDeathCondition.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/CauseOfDeathCondition.java @@ -1,11 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; -import org.hl7.fhir.instance.model.api.IIdType; import org.hl7.fhir.r4.model.Condition; import org.hl7.fhir.r4.model.Reference; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Condition", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Cause-Of-Death-Condition") public class CauseOfDeathCondition extends Condition { @@ -14,6 +13,12 @@ public CauseOfDeathCondition() { CommonUtil.initResource(this); } + public CauseOfDeathCondition(Decedent decedent) { + super(); + CommonUtil.initResource(this); + setDecedent(decedent); + } + public void setDecedent(Decedent decedent) { Reference reference = new Reference(decedent.getId()); this.subject = reference; diff --git a/src/main/java/edu/gatech/VRDR/model/CauseOfDeathPathway.java b/src/main/java/edu/gatech/chai/VRDR/model/CauseOfDeathPathway.java similarity index 76% rename from src/main/java/edu/gatech/VRDR/model/CauseOfDeathPathway.java rename to src/main/java/edu/gatech/chai/VRDR/model/CauseOfDeathPathway.java index b17ae59..8502394 100644 --- a/src/main/java/edu/gatech/VRDR/model/CauseOfDeathPathway.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/CauseOfDeathPathway.java @@ -1,10 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.ListResource; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CauseOfDeathPathwayUtil; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CauseOfDeathPathwayUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "List", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Cause-of-Death-Pathway") public class CauseOfDeathPathway extends ListResource { diff --git a/src/main/java/edu/gatech/VRDR/model/Certifier.java b/src/main/java/edu/gatech/chai/VRDR/model/Certifier.java similarity index 68% rename from src/main/java/edu/gatech/VRDR/model/Certifier.java rename to src/main/java/edu/gatech/chai/VRDR/model/Certifier.java index 8fd003b..9e1a75f 100644 --- a/src/main/java/edu/gatech/VRDR/model/Certifier.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/Certifier.java @@ -1,12 +1,11 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; -import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.Identifier; import org.hl7.fhir.r4.model.Practitioner; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Practitioner", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Certifier") public class Certifier extends Practitioner { @@ -16,10 +15,9 @@ public Certifier() { CommonUtil.initResource(this); } - public PractitionerQualificationComponent addQualification(String identifier, String type,String title) { - CodeableConcept identifierTypeCodeableConcept = CommonUtil.findConceptFromCollectionUsingSimpleString(type, CommonUtil.deathReportingIdentifierTypeCodes); + public PractitionerQualificationComponent addQualification(String identifier, String type) { + CodeableConcept identifierTypeCodeableConcept = CommonUtil.findConceptFromCollectionUsingSimpleString(type, CommonUtil.certifierTypeSet); PractitionerQualificationComponent component = new PractitionerQualificationComponent(identifierTypeCodeableConcept); - component.setCode(new CodeableConcept().addCoding(new Coding("http://www.hl7.org/fhir/v2/0360/2.7",title,""))); component.addIdentifier(new Identifier().setValue(identifier)); addQualification(component); return component; diff --git a/src/main/java/edu/gatech/VRDR/model/ConditionContributingToDeath.java b/src/main/java/edu/gatech/chai/VRDR/model/ConditionContributingToDeath.java similarity index 88% rename from src/main/java/edu/gatech/VRDR/model/ConditionContributingToDeath.java rename to src/main/java/edu/gatech/chai/VRDR/model/ConditionContributingToDeath.java index ab41d54..115fc73 100644 --- a/src/main/java/edu/gatech/VRDR/model/ConditionContributingToDeath.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/ConditionContributingToDeath.java @@ -1,10 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Condition; import org.hl7.fhir.r4.model.Reference; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Condition", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Condition-Contributing-To-Death") public class ConditionContributingToDeath extends Condition { diff --git a/src/main/java/edu/gatech/VRDR/model/DeathCertificate.java b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertificate.java similarity index 92% rename from src/main/java/edu/gatech/VRDR/model/DeathCertificate.java rename to src/main/java/edu/gatech/chai/VRDR/model/DeathCertificate.java index 60ab1bf..128c7c8 100644 --- a/src/main/java/edu/gatech/VRDR/model/DeathCertificate.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertificate.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import java.util.Date; @@ -10,8 +10,8 @@ import org.hl7.fhir.r4.model.Resource; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DeathCertificateUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DeathCertificateUtil; @ResourceDef(name = "Composition", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Death-Certificate") public class DeathCertificate extends Composition { diff --git a/src/main/java/edu/gatech/VRDR/model/DeathCertificateDocument.java b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertificateDocument.java similarity index 81% rename from src/main/java/edu/gatech/VRDR/model/DeathCertificateDocument.java rename to src/main/java/edu/gatech/chai/VRDR/model/DeathCertificateDocument.java index 1b463eb..908f912 100644 --- a/src/main/java/edu/gatech/VRDR/model/DeathCertificateDocument.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertificateDocument.java @@ -1,9 +1,9 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Bundle; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Bundle", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Death-Certificate-Document") public class DeathCertificateDocument extends Bundle { diff --git a/src/main/java/edu/gatech/VRDR/model/DeathCertificateReference.java b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertificateReference.java similarity index 85% rename from src/main/java/edu/gatech/VRDR/model/DeathCertificateReference.java rename to src/main/java/edu/gatech/chai/VRDR/model/DeathCertificateReference.java index 6c0d506..c1ba3b7 100644 --- a/src/main/java/edu/gatech/VRDR/model/DeathCertificateReference.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertificateReference.java @@ -1,12 +1,12 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Attachment; import org.hl7.fhir.r4.model.DocumentReference; import org.hl7.fhir.r4.model.Enumerations.DocumentReferenceStatus; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DeathCertificateReferenceUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DeathCertificateReferenceUtil; @ResourceDef(name = "DocumentReference", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Death-Certificate-Reference") public class DeathCertificateReference extends DocumentReference { diff --git a/src/main/java/edu/gatech/VRDR/model/DeathCertification.java b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertification.java similarity index 73% rename from src/main/java/edu/gatech/VRDR/model/DeathCertification.java rename to src/main/java/edu/gatech/chai/VRDR/model/DeathCertification.java index 40a1e6f..5df36bf 100644 --- a/src/main/java/edu/gatech/VRDR/model/DeathCertification.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DeathCertification.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import java.util.Date; @@ -8,8 +8,8 @@ import org.hl7.fhir.r4.model.Reference; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DeathCertificationUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DeathCertificationUtil; @ResourceDef(name = "Procedure", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Death-Certification") public class DeathCertification extends Procedure { @@ -33,5 +33,10 @@ public void addPerformer(Certifier certifier, CodeableConcept function) { procedurePerformerComponent.setFunction(function); this.addPerformer(procedurePerformerComponent); } + + public void addPerformer(Certifier certifier, String function) { + CodeableConcept functionCode = CommonUtil.findConceptFromCollectionUsingSimpleString(function, CommonUtil.certifierTypeSet); + this.addPerformer(certifier, functionCode); + } } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/DeathDate.java b/src/main/java/edu/gatech/chai/VRDR/model/DeathDate.java similarity index 91% rename from src/main/java/edu/gatech/VRDR/model/DeathDate.java rename to src/main/java/edu/gatech/chai/VRDR/model/DeathDate.java index 19d864d..3d3f15b 100644 --- a/src/main/java/edu/gatech/VRDR/model/DeathDate.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DeathDate.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import java.util.Date; @@ -9,8 +9,8 @@ import org.hl7.fhir.r4.model.Reference; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DeathDateUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DeathDateUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Death-Date") public class DeathDate extends Observation { diff --git a/src/main/java/edu/gatech/VRDR/model/DeathLocation.java b/src/main/java/edu/gatech/chai/VRDR/model/DeathLocation.java similarity index 88% rename from src/main/java/edu/gatech/VRDR/model/DeathLocation.java rename to src/main/java/edu/gatech/chai/VRDR/model/DeathLocation.java index 0edd0cf..f384450 100644 --- a/src/main/java/edu/gatech/VRDR/model/DeathLocation.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DeathLocation.java @@ -1,11 +1,11 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Address; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Location; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Location", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Death-Location") public class DeathLocation extends Location { diff --git a/src/main/java/edu/gatech/VRDR/model/DeathPronouncementPerformer.java b/src/main/java/edu/gatech/chai/VRDR/model/DeathPronouncementPerformer.java similarity index 90% rename from src/main/java/edu/gatech/VRDR/model/DeathPronouncementPerformer.java rename to src/main/java/edu/gatech/chai/VRDR/model/DeathPronouncementPerformer.java index 69903b2..90eb822 100644 --- a/src/main/java/edu/gatech/VRDR/model/DeathPronouncementPerformer.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DeathPronouncementPerformer.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.HumanName; @@ -6,7 +6,7 @@ import org.hl7.fhir.r4.model.Practitioner; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Practitioner", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Death-Pronouncement-Performer") public class DeathPronouncementPerformer extends Practitioner { diff --git a/src/main/java/edu/gatech/VRDR/model/Decedent.java b/src/main/java/edu/gatech/chai/VRDR/model/Decedent.java similarity index 97% rename from src/main/java/edu/gatech/VRDR/model/Decedent.java rename to src/main/java/edu/gatech/chai/VRDR/model/Decedent.java index e2ac790..4ab8237 100644 --- a/src/main/java/edu/gatech/VRDR/model/Decedent.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/Decedent.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Address; import org.hl7.fhir.r4.model.CodeableConcept; @@ -9,8 +9,8 @@ import org.hl7.fhir.r4.model.StringType; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentUtil; @ResourceDef(name = "Patient", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent") public class Decedent extends Patient { diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentAge.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentAge.java similarity index 73% rename from src/main/java/edu/gatech/VRDR/model/DecedentAge.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentAge.java index 3d84e2d..6818460 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentAge.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentAge.java @@ -1,10 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Observation; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentAgeUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentAgeUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent-Age") public class DecedentAge extends Observation { diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentDispositionMethod.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentDispositionMethod.java similarity index 89% rename from src/main/java/edu/gatech/VRDR/model/DecedentDispositionMethod.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentDispositionMethod.java index 26be989..20ba224 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentDispositionMethod.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentDispositionMethod.java @@ -1,11 +1,11 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Observation; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentDispositionMethodUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentDispositionMethodUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/VRDR-Decedent-Disposition-Method") public class DecedentDispositionMethod extends Observation { diff --git a/src/main/java/edu/gatech/chai/VRDR/model/DecedentEducationLevel.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentEducationLevel.java new file mode 100644 index 0000000..f2d10b5 --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentEducationLevel.java @@ -0,0 +1,45 @@ +package edu.gatech.chai.VRDR.model; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Observation; + +import ca.uhn.fhir.model.api.annotation.ResourceDef; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentEducationLevelUtil; + +@ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent-Education-Level") +public class DecedentEducationLevel extends Observation { + public DecedentEducationLevel() { + super(); + CommonUtil.initResource(this); + setStatus(DecedentEducationLevelUtil.status); + setCode(DecedentEducationLevelUtil.code); + } + + public DecedentEducationLevel(String code) { + this(); + setValue(code); + } + + public DecedentEducationLevel(String code, String display) { + this(); + setValue(code,display); + } + + public void setValue(String code) { + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, DecedentEducationLevelUtil.valueSet); + if(concept != null) { + setValue(concept); + } + } + + public void setValue(String code, String display) { + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, DecedentEducationLevelUtil.valueSet); + if(concept == null) { + concept = CommonUtil.findConceptFromCollectionUsingSimpleString(display, DecedentEducationLevelUtil.valueSet); + } + if(concept != null) { + setValue(concept); + } + } +} diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentFather.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentFather.java similarity index 71% rename from src/main/java/edu/gatech/VRDR/model/DecedentFather.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentFather.java index 5781ee3..3b2cea6 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentFather.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentFather.java @@ -1,10 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.RelatedPerson; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentFatherUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentFatherUtil; @ResourceDef(name = "RelatedPerson", profile = "http://hl7.org/fhir/us/vrdr/VRDR-Decedent-Father") public class DecedentFather extends RelatedPerson { diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentMilitaryService.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentMilitaryService.java similarity index 69% rename from src/main/java/edu/gatech/VRDR/model/DecedentMilitaryService.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentMilitaryService.java index fd661f1..0b5e701 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentMilitaryService.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentMilitaryService.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import java.math.BigDecimal; @@ -7,9 +7,9 @@ import org.hl7.fhir.r4.model.Quantity; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentMilitaryServiceUtil; -import edu.gatech.VRDR.model.util.DecedentUsualWorkUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentMilitaryServiceUtil; +import edu.gatech.chai.VRDR.model.util.DecedentUsualWorkUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent-Military-Service") public class DecedentMilitaryService extends Observation { @@ -23,6 +23,17 @@ public DecedentMilitaryService(CodeableConcept yesNoCode) { this(); this.setValue(yesNoCode); } + public DecedentMilitaryService(String code) { + this(); + this.setValue(code); + } + + public void setValue(String code) { + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, CommonUtil.yesNoUnknownSet); + if(concept != null) { + setValue(concept); + } + } public void addUsualOccupationDuration(Integer years) { ObservationComponentComponent component = new ObservationComponentComponent(); diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentMother.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentMother.java similarity index 71% rename from src/main/java/edu/gatech/VRDR/model/DecedentMother.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentMother.java index 4feb2d4..b36da57 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentMother.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentMother.java @@ -1,10 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.RelatedPerson; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentMotherUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentMotherUtil; @ResourceDef(name = "RelatedPerson", profile = "http://hl7.org/fhir/us/vrdr/VRDR-Decedent-Mother") public class DecedentMother extends RelatedPerson { diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentPregnancy.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentPregnancy.java similarity index 79% rename from src/main/java/edu/gatech/VRDR/model/DecedentPregnancy.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentPregnancy.java index c735e0e..5546334 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentPregnancy.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentPregnancy.java @@ -1,12 +1,12 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.Observation; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentPregnancyUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentPregnancyUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent-Pregnancy") public class DecedentPregnancy extends Observation { @@ -32,7 +32,7 @@ public DecedentPregnancy(String code, String display) { public void setValue(String code) { - CodeableConcept concept = new CodeableConcept().addCoding(new Coding().setCode(code).setSystem(DecedentPregnancyUtil.codeValueSystem)); + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, DecedentPregnancyUtil.valueSet); setValue(concept); } diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentSpouse.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentSpouse.java similarity index 71% rename from src/main/java/edu/gatech/VRDR/model/DecedentSpouse.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentSpouse.java index 5468e49..1d013a5 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentSpouse.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentSpouse.java @@ -1,10 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.RelatedPerson; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentSpouseUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentSpouseUtil; @ResourceDef(name = "RelatedPerson", profile = "http://hl7.org/fhir/us/vrdr/VRDR-Decedent-Spouse") public class DecedentSpouse extends RelatedPerson { diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentTransportationRole.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentTransportationRole.java similarity index 52% rename from src/main/java/edu/gatech/VRDR/model/DecedentTransportationRole.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentTransportationRole.java index 284d6f4..03d0af7 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentTransportationRole.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentTransportationRole.java @@ -1,11 +1,12 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Observation; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentTransportationRoleUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentTransportationRoleUtil; +import edu.gatech.chai.VRDR.model.util.TobaccoUseContributedToDeathUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent-Transportation-Role") public class DecedentTransportationRole extends Observation { @@ -19,4 +20,16 @@ public DecedentTransportationRole(CodeableConcept value) { this(); setValue(value); } + + public DecedentTransportationRole(String value) { + this(); + setValue(value); + } + + public void setValue(String code) { + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, TobaccoUseContributedToDeathUtil.valueCodesetList); + if(concept != null) { + setValue(concept); + } + } } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/DecedentUsualWork.java b/src/main/java/edu/gatech/chai/VRDR/model/DecedentUsualWork.java similarity index 75% rename from src/main/java/edu/gatech/VRDR/model/DecedentUsualWork.java rename to src/main/java/edu/gatech/chai/VRDR/model/DecedentUsualWork.java index 68dc400..679a47b 100644 --- a/src/main/java/edu/gatech/VRDR/model/DecedentUsualWork.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DecedentUsualWork.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import java.math.BigDecimal; @@ -7,8 +7,8 @@ import org.hl7.fhir.r4.model.Quantity; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentUsualWorkUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentUsualWorkUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Decedent-Usual-Work") public class DecedentUsualWork extends Observation { @@ -18,17 +18,14 @@ public DecedentUsualWork() { setStatus(DecedentUsualWorkUtil.status); setCode(DecedentUsualWorkUtil.code); } - public DecedentUsualWork(CodeableConcept usualIndustryValue, Integer occupationYears) { + + public DecedentUsualWork(CodeableConcept usualWork, CodeableConcept usualIndustryValue, Integer occupationYears) { this(); + setValue(usualWork); addUsualIndustry(usualIndustryValue); addUsualOccupationDuration(occupationYears); } - public void addMilitaryService(CodeableConcept militaryServiceValue) { - ObservationComponentComponent component = new ObservationComponentComponent(); - component.setValue(militaryServiceValue); - addComponent(component); - } public void addUsualIndustry(CodeableConcept usualIndustryValue) { ObservationComponentComponent component = new ObservationComponentComponent(); diff --git a/src/main/java/edu/gatech/VRDR/model/DispositionLocation.java b/src/main/java/edu/gatech/chai/VRDR/model/DispositionLocation.java similarity index 84% rename from src/main/java/edu/gatech/VRDR/model/DispositionLocation.java rename to src/main/java/edu/gatech/chai/VRDR/model/DispositionLocation.java index afd2fd7..519fe22 100644 --- a/src/main/java/edu/gatech/VRDR/model/DispositionLocation.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/DispositionLocation.java @@ -1,10 +1,10 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Address; import org.hl7.fhir.r4.model.Location; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Location", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Disposition-Location") public class DispositionLocation extends Location { diff --git a/src/main/java/edu/gatech/VRDR/model/ExaminerContacted.java b/src/main/java/edu/gatech/chai/VRDR/model/ExaminerContacted.java similarity index 50% rename from src/main/java/edu/gatech/VRDR/model/ExaminerContacted.java rename to src/main/java/edu/gatech/chai/VRDR/model/ExaminerContacted.java index 09185e5..667cdbf 100644 --- a/src/main/java/edu/gatech/VRDR/model/ExaminerContacted.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/ExaminerContacted.java @@ -1,11 +1,12 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.BooleanType; +import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Observation; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.ExaminerContactedUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.ExaminerContactedUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Examiner-Contacted") public class ExaminerContacted extends Observation { @@ -19,4 +20,21 @@ public ExaminerContacted(boolean value) { this(); setValue(new BooleanType(value)); } + + public ExaminerContacted(CodeableConcept code) { + this(); + setValue(code); + } + + public ExaminerContacted(String code) { + this(); + setValue(code); + } + + public void setValue(String code) { + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, CommonUtil.yesNoUnknownSet); + if(concept != null) { + setValue(concept); + } + } } diff --git a/src/main/java/edu/gatech/VRDR/model/FuneralHome.java b/src/main/java/edu/gatech/chai/VRDR/model/FuneralHome.java similarity index 78% rename from src/main/java/edu/gatech/VRDR/model/FuneralHome.java rename to src/main/java/edu/gatech/chai/VRDR/model/FuneralHome.java index add4974..828599b 100644 --- a/src/main/java/edu/gatech/VRDR/model/FuneralHome.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/FuneralHome.java @@ -1,11 +1,11 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Address; import org.hl7.fhir.r4.model.Organization; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.FuneralHomeUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.FuneralHomeUtil; @ResourceDef(name = "Organization", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Funeral-Home") public class FuneralHome extends Organization { diff --git a/src/main/java/edu/gatech/VRDR/model/FuneralServiceLicensee.java b/src/main/java/edu/gatech/chai/VRDR/model/FuneralServiceLicensee.java similarity index 94% rename from src/main/java/edu/gatech/VRDR/model/FuneralServiceLicensee.java rename to src/main/java/edu/gatech/chai/VRDR/model/FuneralServiceLicensee.java index 60134f3..6c8dcef 100644 --- a/src/main/java/edu/gatech/VRDR/model/FuneralServiceLicensee.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/FuneralServiceLicensee.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.PractitionerRole; diff --git a/src/main/java/edu/gatech/chai/VRDR/model/InjuryIncident.java b/src/main/java/edu/gatech/chai/VRDR/model/InjuryIncident.java new file mode 100644 index 0000000..630f170 --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/InjuryIncident.java @@ -0,0 +1,86 @@ +package edu.gatech.chai.VRDR.model; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Extension; +import org.hl7.fhir.r4.model.Location; +import org.hl7.fhir.r4.model.Observation; +import org.hl7.fhir.r4.model.Reference; + +import ca.uhn.fhir.model.api.annotation.ResourceDef; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DeathDateUtil; +import edu.gatech.chai.VRDR.model.util.InjuryIncidentUtil; + +@ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Injury-Incident") +public class InjuryIncident extends Observation { + + public InjuryIncident() { + super(); + CommonUtil.initResource(this); + setStatus(InjuryIncidentUtil.status); + setCode(InjuryIncidentUtil.code); + } + + public InjuryIncident(Decedent decendent, String placeOfInjury, String injuredAtWorkBoolean, + String transportationRelationship) { + this(); + addPlaceOfInjuryComponent(placeOfInjury); + addInjuredAtWorkComponent(injuredAtWorkBoolean); + addTransportationEventIndicatorComponent(transportationRelationship); + } + + public InjuryIncident(Decedent decendent, CodeableConcept placeOfInjury, CodeableConcept injuredAtWorkBoolean, + CodeableConcept transportationRelationship) { + this(); + addPlaceOfInjuryComponent(placeOfInjury); + addInjuredAtWorkComponent(injuredAtWorkBoolean); + addTransportationEventIndicatorComponent(transportationRelationship); + } + + public void addPatientLocationExtension(Location location) { + Extension extension = new Extension(DeathDateUtil.patientLocationExtensionURL); + Reference reference = new Reference(location.getId()); + extension.setValue(reference); + this.addExtension(extension); + } + + public Extension getPatientLocationExtension() { + return CommonUtil.getExtension(this, DeathDateUtil.patientLocationExtensionURL); + } + + public void addPlaceOfInjuryComponent(String placeOfInjury) { + CodeableConcept placeOfInjuryCode = CommonUtil.findConceptFromCollectionUsingSimpleString(placeOfInjury, InjuryIncidentUtil.placeOfInjuryValueSet); + addPlaceOfInjuryComponent(placeOfInjuryCode); + } + + public void addInjuredAtWorkComponent(String injuredAtWork) { + CodeableConcept injuredAtWorkCode = CommonUtil.findConceptFromCollectionUsingSimpleString(injuredAtWork, CommonUtil.yesNoNASet); + addInjuredAtWorkComponent(injuredAtWorkCode); + } + + public void addTransportationEventIndicatorComponent(String transportationRelationship) { + CodeableConcept transportationEventIndicatorCode = CommonUtil.findConceptFromCollectionUsingSimpleString(transportationRelationship, CommonUtil.yesNoNASet); + addTransportationEventIndicatorComponent(transportationEventIndicatorCode); + } + + public void addPlaceOfInjuryComponent(CodeableConcept placeOfInjury) { + ObservationComponentComponent component = new ObservationComponentComponent(); + component.setCode(InjuryIncidentUtil.componentPlaceofInjuryCode); + component.setValue(placeOfInjury); + addComponent(component); + } + + public void addInjuredAtWorkComponent(CodeableConcept injuredAtWorkBoolean) { + ObservationComponentComponent component = new ObservationComponentComponent(); + component.setCode(InjuryIncidentUtil.componentInjuryAtWorkCode); + component.setValue(injuredAtWorkBoolean); + addComponent(component); + } + + public void addTransportationEventIndicatorComponent(CodeableConcept transportationRelationship) { + ObservationComponentComponent component = new ObservationComponentComponent(); + component.setCode(InjuryIncidentUtil.componentTransportationEventIndicator); + component.setValue(transportationRelationship); + addComponent(component); + } +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/InjuryLocation.java b/src/main/java/edu/gatech/chai/VRDR/model/InjuryLocation.java similarity index 88% rename from src/main/java/edu/gatech/VRDR/model/InjuryLocation.java rename to src/main/java/edu/gatech/chai/VRDR/model/InjuryLocation.java index 31fc9a9..2f5e88c 100644 --- a/src/main/java/edu/gatech/VRDR/model/InjuryLocation.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/InjuryLocation.java @@ -1,11 +1,11 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Address; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Location; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Location", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Injury-Location") public class InjuryLocation extends Location { diff --git a/src/main/java/edu/gatech/VRDR/model/InterestedParty.java b/src/main/java/edu/gatech/chai/VRDR/model/InterestedParty.java similarity index 89% rename from src/main/java/edu/gatech/VRDR/model/InterestedParty.java rename to src/main/java/edu/gatech/chai/VRDR/model/InterestedParty.java index af9dc3e..c2183a7 100644 --- a/src/main/java/edu/gatech/VRDR/model/InterestedParty.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/InterestedParty.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.Address; import org.hl7.fhir.r4.model.CodeableConcept; @@ -6,7 +6,7 @@ import org.hl7.fhir.r4.model.Organization; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Organization", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Interested-Party") public class InterestedParty extends Organization { diff --git a/src/main/java/edu/gatech/chai/VRDR/model/MannerOfDeath.java b/src/main/java/edu/gatech/chai/VRDR/model/MannerOfDeath.java new file mode 100644 index 0000000..f4218f9 --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/MannerOfDeath.java @@ -0,0 +1,45 @@ +package edu.gatech.chai.VRDR.model; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Observation; +import org.hl7.fhir.r4.model.Reference; + +import ca.uhn.fhir.model.api.annotation.ResourceDef; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentDispositionMethodUtil; +import edu.gatech.chai.VRDR.model.util.MannerOfDeathUtil; + +@ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Manner-of-Death") +public class MannerOfDeath extends Observation { + + public MannerOfDeath() { + super(); + CommonUtil.initResource(this); + setStatus(MannerOfDeathUtil.status); + setCode(MannerOfDeathUtil.code); + } + + public MannerOfDeath(CodeableConcept manner, Decedent decedent, Certifier certifier) { + this(); + setValue(manner); + setSubject(new Reference(decedent.getId())); + this.addPerformer(new Reference(certifier.getId())); + } + + public void setValue(String code) { + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, MannerOfDeathUtil.valueCodesetList); + if(concept != null) { + setValue(concept); + } + } + + public void setValue(String code, String display) { + CodeableConcept concept = CommonUtil.findConceptFromCollectionUsingSimpleString(code, DecedentDispositionMethodUtil.valueCodesetList); + if(concept == null) { + concept = CommonUtil.findConceptFromCollectionUsingSimpleString(display, DecedentDispositionMethodUtil.valueCodesetList); + } + if(concept != null) { + setValue(concept); + } + } +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/Mortician.java b/src/main/java/edu/gatech/chai/VRDR/model/Mortician.java similarity index 90% rename from src/main/java/edu/gatech/VRDR/model/Mortician.java rename to src/main/java/edu/gatech/chai/VRDR/model/Mortician.java index a08f06a..83a8ae4 100644 --- a/src/main/java/edu/gatech/VRDR/model/Mortician.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/Mortician.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.HumanName; @@ -6,7 +6,7 @@ import org.hl7.fhir.r4.model.Practitioner; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; @ResourceDef(name = "Practitioner", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Mortician") public class Mortician extends Practitioner { diff --git a/src/main/java/edu/gatech/VRDR/model/TobaccoUseContributedToDeath.java b/src/main/java/edu/gatech/chai/VRDR/model/TobaccoUseContributedToDeath.java similarity index 89% rename from src/main/java/edu/gatech/VRDR/model/TobaccoUseContributedToDeath.java rename to src/main/java/edu/gatech/chai/VRDR/model/TobaccoUseContributedToDeath.java index d4e6864..7faf48c 100644 --- a/src/main/java/edu/gatech/VRDR/model/TobaccoUseContributedToDeath.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/TobaccoUseContributedToDeath.java @@ -1,11 +1,11 @@ -package edu.gatech.VRDR.model; +package edu.gatech.chai.VRDR.model; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Observation; import ca.uhn.fhir.model.api.annotation.ResourceDef; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.TobaccoUseContributedToDeathUtil; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.TobaccoUseContributedToDeathUtil; @ResourceDef(name = "Observation", profile = "http://hl7.org/fhir/us/vrdr/StructureDefinition/VRDR-Tobacco-Use-Contributed-To-Death") public class TobaccoUseContributedToDeath extends Observation { diff --git a/src/main/java/edu/gatech/VRDR/model/util/AutopsyPerformedIndicatorUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/AutopsyPerformedIndicatorUtil.java similarity index 52% rename from src/main/java/edu/gatech/VRDR/model/util/AutopsyPerformedIndicatorUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/AutopsyPerformedIndicatorUtil.java index 768b76b..e5cb970 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/AutopsyPerformedIndicatorUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/AutopsyPerformedIndicatorUtil.java @@ -1,4 +1,7 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; + +import java.util.Arrays; +import java.util.HashSet; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -7,8 +10,9 @@ public class AutopsyPerformedIndicatorUtil { public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "85699-7", "Autopsy was performed")); + .addCoding(new Coding(CommonUtil.loincSystemUrl, "85699-7", "Autopsy was performed")); public static final CodeableConcept componentAutopsyResultsAvailableCode = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "69436-4", "Autopsy results available")); + .addCoding(new Coding(CommonUtil.loincSystemUrl, "69436-4", "Autopsy results available")); public static final ObservationStatus status = Observation.ObservationStatus.FINAL; -} + public static final HashSet booleanSet = new HashSet<>(Arrays.asList(CommonUtil.yesCode, CommonUtil.noCode, CommonUtil.notApplicableCode)); +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/BirthRecordIdentifierUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/BirthRecordIdentifierUtil.java similarity index 68% rename from src/main/java/edu/gatech/VRDR/model/util/BirthRecordIdentifierUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/BirthRecordIdentifierUtil.java index 75247a1..b29a1c4 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/BirthRecordIdentifierUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/BirthRecordIdentifierUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -7,11 +7,11 @@ public class BirthRecordIdentifierUtil { public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding("http://hl7.org/fhir/v2/0203", "BR", "")); + .addCoding(new Coding("http://terminology.hl7.org/CodeSystem/v2-0203", "BR", "Birth registry number")); public static final CodeableConcept componentBirthStateCode = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "21842-0", "")); + .addCoding(new Coding(CommonUtil.loincSystemUrl, "21842-0", "Birthplace")); public static final String componentBirthStateValueCodeableConceptSystem = "urn:iso:std:iso:3166:-2"; public static final CodeableConcept componentBirthYearCode = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "80904-6", "Birth Year")); + .addCoding(new Coding(CommonUtil.loincSystemUrl, "80904-6", "Birth Year")); public static final ObservationStatus status = Observation.ObservationStatus.FINAL; } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/CauseOfDeathPathwayUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/CauseOfDeathPathwayUtil.java similarity index 73% rename from src/main/java/edu/gatech/VRDR/model/util/CauseOfDeathPathwayUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/CauseOfDeathPathwayUtil.java index dbb608e..bb6925b 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/CauseOfDeathPathwayUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/CauseOfDeathPathwayUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -8,5 +8,5 @@ public class CauseOfDeathPathwayUtil { public static final ListResource.ListStatus status = ListResource.ListStatus.CURRENT; public static final ListResource.ListMode mode = ListResource.ListMode.SNAPSHOT; public static final CodeableConcept orderedByCodeFixedValue = new CodeableConcept() - .addCoding(new Coding("http://hl7.org/fhir/ValueSet/list-order", "priority", "Sorted by Priority")); + .addCoding(new Coding("http://terminology.hl7.org/CodeSystem/list-order", "priority", "Sorted by Priority")); } diff --git a/src/main/java/edu/gatech/VRDR/model/util/CertifierUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/CertifierUtil.java similarity index 74% rename from src/main/java/edu/gatech/VRDR/model/util/CertifierUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/CertifierUtil.java index a12aca4..e019864 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/CertifierUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/CertifierUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; public class CertifierUtil { public static final String qualificationSystemUrl = "http://hl7.org/fhir/v2/0360/2.7"; diff --git a/src/main/java/edu/gatech/VRDR/model/util/CommonUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/CommonUtil.java similarity index 69% rename from src/main/java/edu/gatech/VRDR/model/util/CommonUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/CommonUtil.java index 19eaf79..bb72a30 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/CommonUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/CommonUtil.java @@ -1,7 +1,9 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.UUID; @@ -15,16 +17,21 @@ import org.hl7.fhir.r4.model.Reference; import org.hl7.fhir.r4.model.Resource; -import edu.gatech.VRDR.model.DeathCertificate; -import edu.gatech.VRDR.model.DeathCertificateDocument; +import edu.gatech.chai.VRDR.model.DeathCertificate; +import edu.gatech.chai.VRDR.model.DeathCertificateDocument; public class CommonUtil { public static String basicBooleanHL7System = "http://hl7.org/CodeSystem/v2-0136"; public static String nullFlavorHL7System = "http://hl7.org/fhir/v3/NullFlavor"; + public static String snomedSystemUrl = "http://snomed.info/sct"; + public static String loincSystemUrl = "http://loinc.org"; public static CodeableConcept noCode = new CodeableConcept().addCoding(new Coding(basicBooleanHL7System,"N","No")); public static CodeableConcept yesCode = new CodeableConcept().addCoding(new Coding(basicBooleanHL7System,"Y","Yes")); public static CodeableConcept unknownCode = new CodeableConcept().addCoding(new Coding(nullFlavorHL7System,"UNK","unknown")); - public static String deathReportingIdentifierTypeSystem = "2.16.840.1.114222.4.11.7382"; + public static CodeableConcept otherCode = new CodeableConcept().addCoding(new Coding(nullFlavorHL7System,"OTH","other")); + public static CodeableConcept notApplicableCode = new CodeableConcept().addCoding(new Coding(nullFlavorHL7System,"NA","not applicable")); + public static CodeableConcept notAskedCode = new CodeableConcept().addCoding(new Coding(nullFlavorHL7System,"NASK","not asked")); + public static String deathReportingIdentifierTypeSystem = "urn:oid:2.16.840.1.114222.4.11.7382"; public static CodeableConcept deathCertificateIdCode = new CodeableConcept().addCoding(new Coding(deathReportingIdentifierTypeSystem,"DC","Death Certificate Id")); public static CodeableConcept deathCertificateFileNumberCode = new CodeableConcept().addCoding(new Coding(deathReportingIdentifierTypeSystem,"DCFN","Death Certificate File Number")); public static CodeableConcept deathCertificateLicenseNumberCode = new CodeableConcept().addCoding(new Coding(deathReportingIdentifierTypeSystem,"LN","Death Certificate License Number")); @@ -33,6 +40,12 @@ public class CommonUtil { public static CodeableConcept SocialSecurityNumberCode = new CodeableConcept().addCoding(new Coding(deathReportingIdentifierTypeSystem,"SS","Social Security Number")); public static List deathReportingIdentifierTypeCodes = new ArrayList(Arrays.asList(deathCertificateIdCode,deathCertificateFileNumberCode,deathCertificateLicenseNumberCode, nationalProviderIdentifierCode,stateRegistryIdCode,SocialSecurityNumberCode)); + public static final HashSet certifierTypeSet = new HashSet<>(Arrays.asList( + new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"455381000124109","Medical Examiner/Coroner")), + new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"434641000124105","Physician certifed and pronounced death certificate")), + new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"434651000124107","Physician certified death certificate")))); + public static final HashSet yesNoUnknownSet = new HashSet<>(Arrays.asList(yesCode,noCode,unknownCode)); + public static final HashSet yesNoNASet = new HashSet<>(Arrays.asList(yesCode,noCode,notApplicableCode)); public static Extension getExtension(DomainResource resource, String url) { for (Extension extension : resource.getExtension()) { @@ -44,7 +57,7 @@ public static Extension getExtension(DomainResource resource, String url) { } public static void initResource(Resource resource) { - setUUID(resource); + //setUUID(resource); } public static void setUUID(Resource resource) { @@ -65,7 +78,7 @@ public static DeathCertificate addSectionEntry(DeathCertificate deathCertificate return deathCertificate; } - public static CodeableConcept findConceptFromCollectionUsingSimpleString(String key,List collection) { + public static CodeableConcept findConceptFromCollectionUsingSimpleString(String key,Collection collection) { for(CodeableConcept conceptIter:collection) { Coding coding = conceptIter.getCodingFirstRep(); if(coding.getCode().equalsIgnoreCase(key) || coding.getDisplay().equalsIgnoreCase(key)) { diff --git a/src/main/java/edu/gatech/VRDR/model/util/DeathCertificateReferenceUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificateReferenceUtil.java similarity index 61% rename from src/main/java/edu/gatech/VRDR/model/util/DeathCertificateReferenceUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificateReferenceUtil.java index aacc6f8..bfc25b4 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DeathCertificateReferenceUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificateReferenceUtil.java @@ -1,9 +1,9 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; public class DeathCertificateReferenceUtil { public static final CodeableConcept type = new CodeableConcept() - .addCoding(new Coding().setCode("64297-5").setSystem("http://loinc.org")); + .addCoding(new Coding(CommonUtil.loincSystemUrl,"64297-5","Death certificate")); } diff --git a/src/main/java/edu/gatech/VRDR/model/util/DeathCertificateUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificateUtil.java similarity index 70% rename from src/main/java/edu/gatech/VRDR/model/util/DeathCertificateUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificateUtil.java index caa0fc0..f908bba 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DeathCertificateUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificateUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -8,8 +8,8 @@ public class DeathCertificateUtil { public static final CompositionStatus status = CompositionStatus.FINAL; public static final CodeableConcept typeFixedValue = new CodeableConcept() - .addCoding(new Coding().setCode("64297-5").setSystem("http://loinc.org")); + .addCoding(new Coding(CommonUtil.loincSystemUrl,"64297-5","Death certificate")); public static final Composition.CompositionAttestationMode attesterMode = Composition.CompositionAttestationMode.LEGAL; public static final CodeableConcept eventCodeFixedValue = new CodeableConcept() - .addCoding(new Coding().setCode("308646001").setSystem("http://snomed.info/sct").setDisplay("Death certification (procedure)")); + .addCoding(new Coding(CommonUtil.snomedSystemUrl,"103693007","Diagnostic procedure (procedure)")); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DeathCertificationUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificationUtil.java similarity index 55% rename from src/main/java/edu/gatech/VRDR/model/util/DeathCertificationUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificationUtil.java index 1976f28..d05b6e1 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DeathCertificationUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathCertificationUtil.java @@ -1,11 +1,11 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; public class DeathCertificationUtil { public static final CodeableConcept categoryFixedValue = new CodeableConcept() - .addCoding(new Coding().setCode("103693007").setSystem("http://snomed.info/sct")); + .addCoding(new Coding(CommonUtil.snomedSystemUrl,"103693007","Diagnostic procedure")); public static final CodeableConcept codeFixedValue = new CodeableConcept() - .addCoding(new Coding().setCode("308646001")); -} + .addCoding(new Coding(CommonUtil.snomedSystemUrl,"308646001","Death certification")); +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DeathDateUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathDateUtil.java similarity index 63% rename from src/main/java/edu/gatech/VRDR/model/util/DeathDateUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DeathDateUtil.java index 5c1031c..13a50a8 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DeathDateUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DeathDateUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -6,11 +6,11 @@ public class DeathDateUtil { public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "81956-5", "Date and time of death")); + .addCoding(new Coding(CommonUtil.loincSystemUrl, "81956-5", "Date+time of death")); public static final ObservationStatus status = ObservationStatus.FINAL; public static final String patientLocationExtensionURL = "http://hl7.org/fhir/us/vrdr/StructureDefinition/Observation-Location"; public static final CodeableConcept componentDatePronouncedDeadCode = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "80616-6", "Date and time pronounced dead")); + .addCoding(new Coding(CommonUtil.loincSystemUrl, "80616-6", "Date and time pronounced dead [US Standard Certificate of Death]")); public static final CodeableConcept method = new CodeableConcept() - .addCoding(new Coding("urn:oid:2.16.840.1.113883.6.96", "414135002", "Estimated")); + .addCoding(new Coding(CommonUtil.snomedSystemUrl, "414135002", "Estimated")); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentAgeUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentAgeUtil.java similarity index 73% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentAgeUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentAgeUtil.java index eae8829..e9d9ed2 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentAgeUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentAgeUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -7,6 +7,6 @@ public class DecedentAgeUtil { public static final ObservationStatus status = ObservationStatus.FINAL; public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding("http://loinc.org", "30525-0", "Age")); + .addCoding(new Coding(CommonUtil.loincSystemUrl, "30525-0", "Age")); } diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentDispositionMethodUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentDispositionMethodUtil.java similarity index 60% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentDispositionMethodUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentDispositionMethodUtil.java index 706b671..05f4929 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentDispositionMethodUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentDispositionMethodUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import java.util.ArrayList; import java.util.Arrays; @@ -12,12 +12,12 @@ public class DecedentDispositionMethodUtil { public static final Observation.ObservationStatus status = ObservationStatus.FINAL; public static final CodeableConcept code = new CodeableConcept().addCoding( - new Coding().setSystem("http://loinc.org").setCode("80905-3").setDisplay("Body disposition method")); - public static final String codeValueSystem = "2.16.840.1.114222.4.11.7379"; - public static final CodeableConcept VALUE_DONATEDCODE = new CodeableConcept().addCoding(new Coding().setCode("449951000124101").setSystem(codeValueSystem).setDisplay("Donation")); - public static final CodeableConcept VALUE_BURIALCODE = new CodeableConcept().addCoding(new Coding().setCode("449971000124106").setSystem(codeValueSystem).setDisplay("Burial")); - public static final CodeableConcept VALUE_CREMATIONCODE = new CodeableConcept().addCoding(new Coding().setCode("449961000124104").setSystem(codeValueSystem).setDisplay("Cremation")); - public static final CodeableConcept VALUE_REMOVALFROMSTATECODE = new CodeableConcept().addCoding(new Coding().setCode("449931000124108").setSystem(codeValueSystem).setDisplay("Removal from state")); - public static final CodeableConcept VALUE_HOSPITALDISPOSITIONCODE = new CodeableConcept().addCoding(new Coding().setCode("373066001").setSystem(codeValueSystem).setDisplay("Hospital Disposition")); - public static List valueCodesetList = new ArrayList(Arrays.asList(VALUE_DONATEDCODE,VALUE_BURIALCODE,VALUE_CREMATIONCODE,VALUE_REMOVALFROMSTATECODE,VALUE_HOSPITALDISPOSITIONCODE)); + new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("80905-3").setDisplay("Body disposition method")); + public static final CodeableConcept VALUE_DONATEDCODE = new CodeableConcept().addCoding(new Coding().setCode("449951000124101").setSystem(CommonUtil.snomedSystemUrl).setDisplay("Donation")); + public static final CodeableConcept VALUE_BURIALCODE = new CodeableConcept().addCoding(new Coding().setCode("449971000124106").setSystem(CommonUtil.snomedSystemUrl).setDisplay("Burial")); + public static final CodeableConcept VALUE_CREMATIONCODE = new CodeableConcept().addCoding(new Coding().setCode("449961000124104").setSystem(CommonUtil.snomedSystemUrl).setDisplay("Cremation")); + public static final CodeableConcept VALUE_ENTOMBEDCODE = new CodeableConcept().addCoding(new Coding().setCode("449931000124108").setSystem(CommonUtil.snomedSystemUrl).setDisplay("Entombment")); + public static final CodeableConcept VALUE_REMOVALFROMSTATECODE = new CodeableConcept().addCoding(new Coding().setCode("449931000124108").setSystem(CommonUtil.snomedSystemUrl).setDisplay("Removal from state")); + public static final CodeableConcept VALUE_HOSPITALDISPOSITIONCODE = new CodeableConcept().addCoding(new Coding().setCode("373066001").setSystem(CommonUtil.snomedSystemUrl).setDisplay("Hospital Disposition")); + public static List valueCodesetList = new ArrayList(Arrays.asList(VALUE_DONATEDCODE,VALUE_BURIALCODE,VALUE_CREMATIONCODE,VALUE_ENTOMBEDCODE,VALUE_REMOVALFROMSTATECODE,VALUE_HOSPITALDISPOSITIONCODE)); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentEducationLevelUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentEducationLevelUtil.java new file mode 100644 index 0000000..0e499e5 --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentEducationLevelUtil.java @@ -0,0 +1,26 @@ +package edu.gatech.chai.VRDR.model.util; + +import java.util.Arrays; +import java.util.HashSet; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Coding; +import org.hl7.fhir.r4.model.Observation.ObservationStatus; + +public class DecedentEducationLevelUtil { + public static final ObservationStatus status = ObservationStatus.FINAL; + public static final CodeableConcept code = new CodeableConcept() + .addCoding(new Coding(CommonUtil.loincSystemUrl, "80913-7", "Highest level of education [US Standard Certificate of Death]s")); + public static final String codeValueSystem = "urn:oid:2.16.840.1.114222.4.5.274"; + public static final CodeableConcept VALUE_8THGRADE = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1448", "8th grade or less")); + public static final CodeableConcept VALUE_12THGRADE = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1449", "9th through 12th grade; no diploma")); + public static final CodeableConcept VALUE_HIGHSCHOOL = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1450", "High School Graduate or GED Completed")); + public static final CodeableConcept VALUE_SOMECOLLEGE = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1451", "Some college credit, but not degree")); + public static final CodeableConcept VALUE_ASSOCIATE = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1452", "Associate Degree")); + public static final CodeableConcept VALUE_BACHELORS = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1453", "Bachelor's Degree")); + public static final CodeableConcept VALUE_MASTERS = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1454", "Master's Degree")); + public static final CodeableConcept VALUE_DOCTORATE = new CodeableConcept().addCoding(new Coding(codeValueSystem,"PHC1455", "Doctorate Degree or Professional Degree")); + public static final HashSet valueSet = new HashSet<>(Arrays.asList( + VALUE_8THGRADE,VALUE_12THGRADE,VALUE_HIGHSCHOOL,VALUE_SOMECOLLEGE,VALUE_ASSOCIATE,VALUE_BACHELORS, + VALUE_MASTERS,VALUE_DOCTORATE,CommonUtil.unknownCode)); +} diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentFatherUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentFatherUtil.java similarity index 87% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentFatherUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentFatherUtil.java index 0c59700..ee7a274 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentFatherUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentFatherUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentMilitaryServiceUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentMilitaryServiceUtil.java similarity index 69% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentMilitaryServiceUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentMilitaryServiceUtil.java index dd159f9..961c881 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentMilitaryServiceUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentMilitaryServiceUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -8,5 +8,5 @@ public class DecedentMilitaryServiceUtil { public static final Observation.ObservationStatus status = ObservationStatus.FINAL; public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("55280-2").setDisplay("Military Service Narrative")); + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("55280-2").setDisplay("Military Service Narrative")); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentMotherUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentMotherUtil.java similarity index 87% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentMotherUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentMotherUtil.java index 3b983d4..e9843c8 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentMotherUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentMotherUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentPregnancyUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentPregnancyUtil.java similarity index 76% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentPregnancyUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentPregnancyUtil.java index 0667a0f..4f17a8c 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentPregnancyUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentPregnancyUtil.java @@ -1,4 +1,7 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; + +import java.util.Arrays; +import java.util.HashSet; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -8,13 +11,14 @@ public class DecedentPregnancyUtil { public static final Observation.ObservationStatus status = ObservationStatus.FINAL; public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("69442-2") + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("69442-2") .setDisplay("Timing of recent pregnancy in relation to death")); - public static final String codeValueSystem = "2.16.840.1.114222.4.11.6003"; + public static final String codeValueSystem = "urn:oid:2.16.840.1.114222.4.5.274"; public static final CodeableConcept VALUE_NOCODE = new CodeableConcept().addCoding(new Coding().setCode("PHC1260").setSystem(codeValueSystem).setDisplay("Not pregnant within past year")); public static final CodeableConcept VALUE_YESCODE = new CodeableConcept().addCoding(new Coding().setCode("PHC1261").setSystem(codeValueSystem).setDisplay("Pregnant at the time of death")); public static final CodeableConcept VALUE_42DAYSCODE = new CodeableConcept().addCoding(new Coding().setCode("PHC1262").setSystem(codeValueSystem).setDisplay("Not pregnant, but pregnant within 42 days of death")); public static final CodeableConcept VALUE_1YEARCODE = new CodeableConcept().addCoding(new Coding().setCode("PHC1263").setSystem(codeValueSystem).setDisplay("Not pregnant, but pregnant 43 days to 1 year before death")); public static final CodeableConcept VALUE_UNKNOWNCODE = new CodeableConcept().addCoding(new Coding().setCode("PHC1264").setSystem(codeValueSystem).setDisplay("Unknown if pregnant within the past year")); - public static final CodeableConcept VALUE_NACODE = new CodeableConcept().addCoding(new Coding().setCode("NA").setSystem(codeValueSystem).setDisplay("Not Applicable")); + public static final HashSet valueSet = new HashSet<>(Arrays.asList( + VALUE_NOCODE,VALUE_YESCODE,VALUE_42DAYSCODE,VALUE_1YEARCODE,VALUE_UNKNOWNCODE,CommonUtil.notApplicableCode)); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentSpouseUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentSpouseUtil.java similarity index 87% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentSpouseUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentSpouseUtil.java index 15050ce..3b9bcbb 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentSpouseUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentSpouseUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; diff --git a/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentTransportationRoleUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentTransportationRoleUtil.java new file mode 100644 index 0000000..f5c310e --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentTransportationRoleUtil.java @@ -0,0 +1,21 @@ +package edu.gatech.chai.VRDR.model.util; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Coding; +import org.hl7.fhir.r4.model.Observation; +import org.hl7.fhir.r4.model.Observation.ObservationStatus; + +public class DecedentTransportationRoleUtil { + public static final Observation.ObservationStatus status = ObservationStatus.FINAL; + public static final CodeableConcept code = new CodeableConcept() + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("69451-3") + .setDisplay("Transportation role of decedent")); + public static final CodeableConcept VALUE_DRIVER = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"236320001","Driver/Operator")); + public static final CodeableConcept VALUE_PASSENGER = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"25750003","Passenger")); + public static final CodeableConcept VALUE_PEDESTRIAN = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"25751800","Pedestrian")); + public static Set valueCodesetList = new HashSet(Arrays.asList(VALUE_DRIVER,VALUE_PASSENGER,VALUE_PEDESTRIAN)); +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentUsualWorkUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentUsualWorkUtil.java similarity index 60% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentUsualWorkUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentUsualWorkUtil.java index ed65cc7..58f2181 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentUsualWorkUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentUsualWorkUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -8,9 +8,9 @@ public class DecedentUsualWorkUtil { public static final Observation.ObservationStatus status = ObservationStatus.FINAL; public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("21843-8").setDisplay("History of Usual occupation")); + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("21843-8").setDisplay("History of Usual occupation")); public static final CodeableConcept componentUsualIndustryCode = new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("21844-6").setDisplay("Usual Industry")); + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("21844-6").setDisplay("Usual Industry")); public static final CodeableConcept componentUsualOccupationDuraction= new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("21847-9")); + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("7416307")); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/DecedentUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentUtil.java similarity index 96% rename from src/main/java/edu/gatech/VRDR/model/util/DecedentUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/DecedentUtil.java index f6569a2..19fb3cd 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/DecedentUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/DecedentUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; diff --git a/src/main/java/edu/gatech/VRDR/model/util/ExaminerContactedUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/ExaminerContactedUtil.java similarity index 78% rename from src/main/java/edu/gatech/VRDR/model/util/ExaminerContactedUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/ExaminerContactedUtil.java index b01b3cf..ad77386 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/ExaminerContactedUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/ExaminerContactedUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; @@ -8,6 +8,6 @@ public class ExaminerContactedUtil { public static final Observation.ObservationStatus status = ObservationStatus.FINAL; public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("74497-9") + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("74497-9") .setDisplay("Medical examiner or coroner was contacted")); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/chai/VRDR/model/util/FuneralHomeUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/FuneralHomeUtil.java new file mode 100644 index 0000000..e01a325 --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/FuneralHomeUtil.java @@ -0,0 +1,9 @@ +package edu.gatech.chai.VRDR.model.util; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Coding; + +public class FuneralHomeUtil { + public static final CodeableConcept type = new CodeableConcept() + .addCoding(new Coding().setSystem("http://terminology.hl7.org/CodeSystem/organization-type").setCode("bus").setDisplay("Non-Healthcare Business or Corporation")); +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/chai/VRDR/model/util/InjuryIncidentUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/InjuryIncidentUtil.java new file mode 100644 index 0000000..2f6f746 --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/InjuryIncidentUtil.java @@ -0,0 +1,35 @@ +package edu.gatech.chai.VRDR.model.util; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Coding; +import org.hl7.fhir.r4.model.Observation.ObservationStatus; + +public class InjuryIncidentUtil { + public static final ObservationStatus status = ObservationStatus.FINAL; + public static final CodeableConcept code = new CodeableConcept() + .addCoding(new Coding(CommonUtil.loincSystemUrl, "11374-6", "Injury incident description")); + public static final CodeableConcept componentPlaceofInjuryCode = new CodeableConcept() + .addCoding(new Coding(CommonUtil.loincSystemUrl, "69450-5", "Place of injury Facility")); + public static final CodeableConcept componentInjuryAtWorkCode = new CodeableConcept() + .addCoding(new Coding(CommonUtil.loincSystemUrl, "69444-8", "Did death result from injury at work")); + public static final CodeableConcept componentTransportationEventIndicator = new CodeableConcept() + .addCoding(new Coding(CommonUtil.loincSystemUrl, "69448-9", + "Injury leading to death associated with transportation event")); + public static final String componentPlaceOfInjuryValueSystem = "urn:oid:2.16.840.1.114222.4.5.320"; + public static final CodeableConcept POI_HOME = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"0","Home")); + public static final CodeableConcept POI_RES = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"1","Residential Institution")); + public static final CodeableConcept POI_SCHOOL = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"2","School, Other Institutions, Public Administrative Area")); + public static final CodeableConcept POI_SPORT = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"3","Sports and Athletics Area")); + public static final CodeableConcept POI_STREET = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"4","Street/Highway")); + public static final CodeableConcept POI_TRADE = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"5","Trade and Service Area")); + public static final CodeableConcept POI_INDUSTRY = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"6","Industrial and Construction Area")); + public static final CodeableConcept POI_FARM = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"7","Farm")); + public static final CodeableConcept POI_OTHER = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"8","Other Specified Place")); + public static final CodeableConcept POI_UNSPECIFIED = new CodeableConcept().addCoding(new Coding(componentPlaceOfInjuryValueSystem,"9","Unpecified Place")); + public static Set placeOfInjuryValueSet = new HashSet(Arrays.asList( + POI_HOME,POI_RES,POI_SCHOOL,POI_SPORT,POI_STREET,POI_TRADE,POI_INDUSTRY,POI_FARM,POI_OTHER,POI_UNSPECIFIED)); +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/chai/VRDR/model/util/MannerOfDeathUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/MannerOfDeathUtil.java new file mode 100644 index 0000000..074f75a --- /dev/null +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/MannerOfDeathUtil.java @@ -0,0 +1,23 @@ +package edu.gatech.chai.VRDR.model.util; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.hl7.fhir.r4.model.CodeableConcept; +import org.hl7.fhir.r4.model.Coding; +import org.hl7.fhir.r4.model.Observation.ObservationStatus; + +public class MannerOfDeathUtil { + public static final ObservationStatus status = ObservationStatus.FINAL; + public static final CodeableConcept code = new CodeableConcept() + .addCoding(new Coding(CommonUtil.loincSystemUrl, "69449-7", "Manner of death")); + public static final CodeableConcept VALUE_NATURAL = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"38605008","Natural death")); + public static final CodeableConcept VALUE_ACCIDENTAL = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"7878000","Accidental death")); + public static final CodeableConcept VALUE_SUICIDE = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"44301001","Suicide")); + public static final CodeableConcept VALUE_HOMICIDE = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"27935005","Homicide")); + public static final CodeableConcept VALUE_INVESTIGATION = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"185973002","Pending Investigation")); + public static final CodeableConcept VALUE_NBD = new CodeableConcept().addCoding(new Coding(CommonUtil.snomedSystemUrl,"65037004","Could not be determined")); + public static Set valueCodesetList = new HashSet(Arrays.asList( + VALUE_NATURAL,VALUE_ACCIDENTAL,VALUE_SUICIDE,VALUE_HOMICIDE,VALUE_INVESTIGATION,VALUE_NBD)); +} \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/model/util/TobaccoUseContributedToDeathUtil.java b/src/main/java/edu/gatech/chai/VRDR/model/util/TobaccoUseContributedToDeathUtil.java similarity index 63% rename from src/main/java/edu/gatech/VRDR/model/util/TobaccoUseContributedToDeathUtil.java rename to src/main/java/edu/gatech/chai/VRDR/model/util/TobaccoUseContributedToDeathUtil.java index ebcbd7b..a1d0c55 100644 --- a/src/main/java/edu/gatech/VRDR/model/util/TobaccoUseContributedToDeathUtil.java +++ b/src/main/java/edu/gatech/chai/VRDR/model/util/TobaccoUseContributedToDeathUtil.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.model.util; +package edu.gatech.chai.VRDR.model.util; import java.util.ArrayList; import java.util.Arrays; @@ -11,12 +11,10 @@ public class TobaccoUseContributedToDeathUtil { public static final ObservationStatus status = ObservationStatus.FINAL; public static final CodeableConcept code = new CodeableConcept() - .addCoding(new Coding().setSystem("http://loinc.org").setCode("69443-0")); - public static final String codeValueSystem = "2.16.840.1.114222.4.11.6004"; + .addCoding(new Coding().setSystem(CommonUtil.loincSystemUrl).setCode("69443-0")); + public static final String codeValueSystem = "urn:oid:2.16.840.1.114222.4.5.274"; public static final CodeableConcept VALUE_YESCODE = new CodeableConcept().addCoding(new Coding().setCode("373066001").setSystem(codeValueSystem).setDisplay("Yes")); public static final CodeableConcept VALUE_NOCODE = new CodeableConcept().addCoding(new Coding().setCode("373067005").setSystem(codeValueSystem).setDisplay("No")); public static final CodeableConcept VALUE_PROBABLECODE = new CodeableConcept().addCoding(new Coding().setCode("2931005").setSystem(codeValueSystem).setDisplay("Probable diagnosis")); - public static final CodeableConcept VALUE_UNKNOWNCODE = new CodeableConcept().addCoding(new Coding().setCode("UNK").setSystem(codeValueSystem).setDisplay("Unknown")); - public static final CodeableConcept VALUE_NOTASKEDCODE = new CodeableConcept().addCoding(new Coding().setCode("373066001").setSystem(codeValueSystem).setDisplay("not asked")); - public static List valueCodesetList = new ArrayList(Arrays.asList(VALUE_YESCODE,VALUE_NOCODE,VALUE_PROBABLECODE,VALUE_UNKNOWNCODE,VALUE_NOTASKEDCODE)); + public static List valueCodesetList = new ArrayList(Arrays.asList(VALUE_YESCODE,VALUE_NOCODE,VALUE_PROBABLECODE,CommonUtil.unknownCode,CommonUtil.notAskedCode)); } \ No newline at end of file diff --git a/src/main/java/edu/gatech/VRDR/util/HumanNameParser.java b/src/main/java/edu/gatech/chai/VRDR/util/HumanNameParser.java similarity index 97% rename from src/main/java/edu/gatech/VRDR/util/HumanNameParser.java rename to src/main/java/edu/gatech/chai/VRDR/util/HumanNameParser.java index bfe5447..f4be552 100644 --- a/src/main/java/edu/gatech/VRDR/util/HumanNameParser.java +++ b/src/main/java/edu/gatech/chai/VRDR/util/HumanNameParser.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.util; +package edu.gatech.chai.VRDR.util; import java.util.Arrays; import java.util.StringJoiner; diff --git a/src/main/java/edu/gatech/VRDR/validation/VRDRProfileValidationSupport.java b/src/main/java/edu/gatech/chai/VRDR/validation/VRDRProfileValidationSupport.java similarity index 98% rename from src/main/java/edu/gatech/VRDR/validation/VRDRProfileValidationSupport.java rename to src/main/java/edu/gatech/chai/VRDR/validation/VRDRProfileValidationSupport.java index 1e1d6e3..6e964ea 100644 --- a/src/main/java/edu/gatech/VRDR/validation/VRDRProfileValidationSupport.java +++ b/src/main/java/edu/gatech/chai/VRDR/validation/VRDRProfileValidationSupport.java @@ -1,4 +1,5 @@ -/*package edu.gatech.VRDR.validation; +package edu.gatech.chai.VRDR.validation; +/*package edu.gatech.chai.VRDR.validation; import static org.apache.commons.lang3.StringUtils.isNotBlank; @@ -28,7 +29,7 @@ import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; -import edu.gatech.VRDR.context.VRDRFhirContext; +import edu.gatech.chai.VRDR.context.VRDRFhirContext; public class VRDRProfileValidationSupport implements IValidationSupport { VRDRFhirContext ctx; diff --git a/src/main/java/edu/gatech/VRDR/validation/VRDRValidator.java b/src/main/java/edu/gatech/chai/VRDR/validation/VRDRValidator.java similarity index 92% rename from src/main/java/edu/gatech/VRDR/validation/VRDRValidator.java rename to src/main/java/edu/gatech/chai/VRDR/validation/VRDRValidator.java index c145c05..d8378ea 100644 --- a/src/main/java/edu/gatech/VRDR/validation/VRDRValidator.java +++ b/src/main/java/edu/gatech/chai/VRDR/validation/VRDRValidator.java @@ -1,4 +1,4 @@ -package edu.gatech.VRDR.validation; +package edu.gatech.chai.VRDR.validation; import org.hl7.fhir.r4.model.Patient; @@ -8,7 +8,7 @@ import ca.uhn.fhir.validation.SchemaBaseValidator; import ca.uhn.fhir.validation.SingleValidationMessage; import ca.uhn.fhir.validation.ValidationResult; -import edu.gatech.VRDR.context.VRDRFhirContext; +import edu.gatech.chai.VRDR.context.VRDRFhirContext; public class VRDRValidator { public static void testValidation() { diff --git a/src/test/java/edu/gatech/VRDR/AppTest.java b/src/test/java/edu/gatech/VRDR/AppTest.java index 5160499..76a0a01 100644 --- a/src/test/java/edu/gatech/VRDR/AppTest.java +++ b/src/test/java/edu/gatech/VRDR/AppTest.java @@ -1,7 +1,7 @@ package edu.gatech.VRDR; -import edu.gatech.VRDR.context.VRDRFhirContext; -import edu.gatech.VRDR.model.DeathCertificateDocument; +import edu.gatech.chai.VRDR.context.VRDRFhirContext; +import edu.gatech.chai.VRDR.model.DeathCertificateDocument; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; diff --git a/src/test/java/edu/gatech/VRDR/BuildDCD.java b/src/test/java/edu/gatech/VRDR/BuildDCD.java index fce68e4..105b95e 100644 --- a/src/test/java/edu/gatech/VRDR/BuildDCD.java +++ b/src/test/java/edu/gatech/VRDR/BuildDCD.java @@ -5,61 +5,59 @@ import java.util.List; import org.hl7.fhir.r4.model.Address; -import org.hl7.fhir.r4.model.BooleanType; import org.hl7.fhir.r4.model.Address.AddressUse; +import org.hl7.fhir.r4.model.BooleanType; import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Coding; import org.hl7.fhir.r4.model.DateTimeType; -import org.hl7.fhir.r4.model.Extension; import org.hl7.fhir.r4.model.Enumerations.AdministrativeGender; import org.hl7.fhir.r4.model.Enumerations.DocumentReferenceStatus; +import org.hl7.fhir.r4.model.Extension; import org.hl7.fhir.r4.model.HumanName; import org.hl7.fhir.r4.model.HumanName.NameUse; import org.hl7.fhir.r4.model.Identifier; import org.hl7.fhir.r4.model.ListResource.ListEntryComponent; -import org.hl7.fhir.r4.model.Procedure.ProcedurePerformerComponent; import org.hl7.fhir.r4.model.Quantity; import org.hl7.fhir.r4.model.Reference; import org.hl7.fhir.r4.model.Resource; -import org.hl7.fhir.r4.model.StringType; -import edu.gatech.VRDR.model.AutopsyPerformedIndicator; -import edu.gatech.VRDR.model.BirthRecordIdentifier; -import edu.gatech.VRDR.model.CauseOfDeathCondition; -import edu.gatech.VRDR.model.CauseOfDeathPathway; -import edu.gatech.VRDR.model.Certifier; -import edu.gatech.VRDR.model.ConditionContributingToDeath; -import edu.gatech.VRDR.model.DeathCertificate; -import edu.gatech.VRDR.model.DeathCertificateDocument; -import edu.gatech.VRDR.model.DeathCertificateReference; -import edu.gatech.VRDR.model.DeathCertification; -import edu.gatech.VRDR.model.DeathDate; -import edu.gatech.VRDR.model.DeathLocation; -import edu.gatech.VRDR.model.DeathPronouncementPerformer; -import edu.gatech.VRDR.model.Decedent; -import edu.gatech.VRDR.model.DecedentAge; -import edu.gatech.VRDR.model.DecedentDispositionMethod; -import edu.gatech.VRDR.model.DecedentEducationLevel; -import edu.gatech.VRDR.model.DecedentUsualWork; -import edu.gatech.VRDR.model.DecedentFather; -import edu.gatech.VRDR.model.DecedentMilitaryService; -import edu.gatech.VRDR.model.DecedentMother; -import edu.gatech.VRDR.model.DecedentPregnancy; -import edu.gatech.VRDR.model.DecedentSpouse; -import edu.gatech.VRDR.model.DecedentTransportationRole; -import edu.gatech.VRDR.model.DispositionLocation; -import edu.gatech.VRDR.model.ExaminerContacted; -import edu.gatech.VRDR.model.FuneralHome; -import edu.gatech.VRDR.model.FuneralServiceLicensee; -import edu.gatech.VRDR.model.InjuryIncident; -import edu.gatech.VRDR.model.InjuryLocation; -import edu.gatech.VRDR.model.InterestedParty; -import edu.gatech.VRDR.model.MannerOfDeath; -import edu.gatech.VRDR.model.Mortician; -import edu.gatech.VRDR.model.TobaccoUseContributedToDeath; -import edu.gatech.VRDR.model.util.CommonUtil; -import edu.gatech.VRDR.model.util.DecedentUtil; +import edu.gatech.chai.VRDR.model.AutopsyPerformedIndicator; +import edu.gatech.chai.VRDR.model.BirthRecordIdentifier; +import edu.gatech.chai.VRDR.model.CauseOfDeathCondition; +import edu.gatech.chai.VRDR.model.CauseOfDeathPathway; +import edu.gatech.chai.VRDR.model.Certifier; +import edu.gatech.chai.VRDR.model.ConditionContributingToDeath; +import edu.gatech.chai.VRDR.model.DeathCertificate; +import edu.gatech.chai.VRDR.model.DeathCertificateDocument; +import edu.gatech.chai.VRDR.model.DeathCertificateReference; +import edu.gatech.chai.VRDR.model.DeathCertification; +import edu.gatech.chai.VRDR.model.DeathDate; +import edu.gatech.chai.VRDR.model.DeathLocation; +import edu.gatech.chai.VRDR.model.DeathPronouncementPerformer; +import edu.gatech.chai.VRDR.model.Decedent; +import edu.gatech.chai.VRDR.model.DecedentAge; +import edu.gatech.chai.VRDR.model.DecedentDispositionMethod; +import edu.gatech.chai.VRDR.model.DecedentEducationLevel; +import edu.gatech.chai.VRDR.model.DecedentFather; +import edu.gatech.chai.VRDR.model.DecedentMilitaryService; +import edu.gatech.chai.VRDR.model.DecedentMother; +import edu.gatech.chai.VRDR.model.DecedentPregnancy; +import edu.gatech.chai.VRDR.model.DecedentSpouse; +import edu.gatech.chai.VRDR.model.DecedentTransportationRole; +import edu.gatech.chai.VRDR.model.DecedentUsualWork; +import edu.gatech.chai.VRDR.model.DispositionLocation; +import edu.gatech.chai.VRDR.model.ExaminerContacted; +import edu.gatech.chai.VRDR.model.FuneralHome; +import edu.gatech.chai.VRDR.model.FuneralServiceLicensee; +import edu.gatech.chai.VRDR.model.InjuryIncident; +import edu.gatech.chai.VRDR.model.InjuryLocation; +import edu.gatech.chai.VRDR.model.InterestedParty; +import edu.gatech.chai.VRDR.model.MannerOfDeath; +import edu.gatech.chai.VRDR.model.Mortician; +import edu.gatech.chai.VRDR.model.TobaccoUseContributedToDeath; +import edu.gatech.chai.VRDR.model.util.CommonUtil; +import edu.gatech.chai.VRDR.model.util.DecedentUtil; public class BuildDCD { public static DeathCertificateDocument buildExampleDeathCertificateDocument() { @@ -101,7 +99,7 @@ public static DeathCertificateDocument buildExampleDeathCertificateDocument() { certifier.addName(new HumanName().setFamily("Baden").addGiven("Michael").setUse(NameUse.OFFICIAL)); certifier.addAddress(new Address().addLine("256 Mount Olive Road").setCity("Atlata") .setState("GA").setPostalCode("30303").setCountry("USA").setUse(AddressUse.WORK)); - certifier.addQualification("12345","National provider identifier","MD"); + certifier.addQualification("12345","Medical Examiner/Coroner"); Date rightNow = new Date(); deathCertificate.addAttester(certifier,rightNow); Reference certifierReference = new Reference(certifier.getId()); @@ -196,9 +194,10 @@ public static DeathCertificateDocument buildExampleDeathCertificateDocument() { decedentDispostionMethod.addPerformer(certifierReference); contents.add(decedentDispostionMethod); //DecedentUsualWork - CodeableConcept industryCode = new CodeableConcept().addCoding(new Coding("http://loinc.org","21844-6","")); + CodeableConcept occupationCode = new CodeableConcept().addCoding(new Coding("urn:oid:2.16.840.1.114222.4.5.314","1330","Agricultural engineers")); + CodeableConcept industryCode = new CodeableConcept().addCoding(new Coding("urn:oid:2.16.840.1.114222.4.5.315","2180","Agricultural chemical manufacturing")); Integer occupationYears = new Integer(15); - DecedentUsualWork decedentUsualWork = new DecedentUsualWork(industryCode,occupationYears); + DecedentUsualWork decedentUsualWork = new DecedentUsualWork(occupationCode,industryCode,occupationYears); decedentUsualWork.setSubject(decedentReference); contents.add(decedentUsualWork); //DecedentMilitaryService @@ -234,7 +233,7 @@ public static DeathCertificateDocument buildExampleDeathCertificateDocument() { funeralServiceLicensee.setOrganization(new Reference(funeralHome.getId())); contents.add(funeralServiceLicensee); //InjuryIncident - InjuryIncident injuryIncident = new InjuryIncident(decedent, "Head", noCode, noCode); + InjuryIncident injuryIncident = new InjuryIncident(decedent, "Home", "No", "No"); contents.add(injuryIncident); //InjuryLocation InjuryLocation injuryLocation = new InjuryLocation(); diff --git a/src/test/java/edu/gatech/VRDR/BundleofBundlesTest.java b/src/test/java/edu/gatech/VRDR/BundleofBundlesTest.java index be5ad24..312dcdc 100644 --- a/src/test/java/edu/gatech/VRDR/BundleofBundlesTest.java +++ b/src/test/java/edu/gatech/VRDR/BundleofBundlesTest.java @@ -3,7 +3,7 @@ import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent; -import edu.gatech.VRDR.model.DeathCertificateDocument; +import edu.gatech.chai.VRDR.model.DeathCertificateDocument; public class BundleofBundlesTest { public void testBundleOfBundles() { diff --git a/src/test/java/edu/gatech/VRDR/ValidationTest.java b/src/test/java/edu/gatech/VRDR/ValidationTest.java index 69e5d3c..d6b1a46 100644 --- a/src/test/java/edu/gatech/VRDR/ValidationTest.java +++ b/src/test/java/edu/gatech/VRDR/ValidationTest.java @@ -1,6 +1,6 @@ package edu.gatech.VRDR; -import edu.gatech.VRDR.validation.VRDRValidator; +import edu.gatech.chai.VRDR.validation.VRDRValidator; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite;