Package org.mitre.synthea.modules
Class Immunizations
java.lang.Object
org.mitre.synthea.modules.Immunizations
This is a complete, but fairly simplistic approach to synthesizing immunizations. It is encounter
driven; whenever an encounter occurs, the doctor checks for due immunizations and gives them. In
at least one case (HPV) this means that the immunization schedule isn't strictly followed since
the encounter schedule doesn't match the immunization schedule (e.g., 11yrs, 11yrs2mo, 11yrs6mo)
-- but in most cases they do line up. This module also assumes perfect doctors and compliant
patients. Every patient eventually receives every recommended immunization (unless they die
first). This module also does not implement any deviations or contraindications based on patient
conditions. For now, we've avoided specific brand names, preferring the general CVX codes.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe key used to identify immunizations in the system. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Collection<HealthRecord.Code>Get all of the Codes this module uses, for inventory purposes.static intgetMaximumDoses(String code) Get the maximum number of vaccine doses for a particular code.static intimmunizationDue(String immunization, Person person, long time, Map<String, List<Long>> immunizationsGiven) Return whether or not the specified immunization is due.static voidinventoryAttributes(Map<String, Attributes.Inventory> attributes) Populate the given attribute map with the list of attributes that this module reads/writes with example values when appropriate.static voidperformEncounter(Person person, long time) Administer vaccines to the person at the state time according to the required immunization schedule.
-
Field Details
-
IMMUNIZATIONS
The key used to identify immunizations in the system.- See Also:
-
-
Constructor Details
-
Immunizations
public Immunizations()
-
-
Method Details
-
performEncounter
Administer vaccines to the person at the state time according to the required immunization schedule.- Parameters:
person- - the person to vaccinate.time- - the current simulation time.
-
immunizationDue
public static int immunizationDue(String immunization, Person person, long time, Map<String, List<Long>> immunizationsGiven) Return whether or not the specified immunization is due.- Parameters:
immunization- The immunization to giveperson- The person to receive the immunizationtime- The time the immunization would be givenimmunizationsGiven- The history of immunizations- Returns:
- -1 if the immunization should not be given, otherwise a positive integer, where the value is the series. For example, 1 if this is the first time the vaccine was administered; 2 if this is the second time, et cetera.
-
getAllCodes
Get all of the Codes this module uses, for inventory purposes.- Returns:
- Collection of all codes and concepts this module uses
-
getMaximumDoses
Get the maximum number of vaccine doses for a particular code.- Parameters:
code- The vaccine code.- Returns:
- The maximum number of doses to be administered.
-
inventoryAttributes
Populate the given attribute map with the list of attributes that this module reads/writes with example values when appropriate.- Parameters:
attributes- Attribute map to populate.
-