@Transactional public interface PatientService extends OpenmrsService
List<Patient> patients = Context.getPatientService().getAllPatients();
| Modifier and Type | Method and Description | 
|---|---|
| void | checkPatientIdentifier(PatientIdentifier patientIdentifier)Deprecated. 
 | 
| void | checkPatientIdentifiers(Patient patient)Convenience method to validate all identifiers for a given patient | 
| Patient | createPatient(Patient patient)Deprecated. 
 replaced by #savePatient(Patient) | 
| void | deletePatient(Patient patient)Deprecated. 
 replaced by  purgePatient(Patient) | 
| void | exitFromCare(Patient patient,
            Date dateExited,
            Concept reasonForExit)Convenience method to establish that a patient has left the care center. | 
| List<Patient> | findDuplicatePatients(Set<String> attributes)Deprecated. 
 | 
| Patient | findPatient(Patient patientToMatch)Deprecated. 
 use #getPatientByExample(Patient) | 
| List<Patient> | findPatients(String query,
            boolean includeVoided)Deprecated. 
 use #getPatients(String) | 
| List<Allergy> | getAllergies(Person p)Returns a sorted set of Allergies, sorted on sort_weight | 
| Allergy | getAllergy(Integer allergyListId)Returns the Allergy | 
| Collection<IdentifierValidator> | getAllIdentifierValidators() | 
| List<PatientIdentifierType> | getAllPatientIdentifierTypes()Get all patientIdentifier types | 
| List<PatientIdentifierType> | getAllPatientIdentifierTypes(boolean includeRetired)Get all patientIdentifier types | 
| List<Patient> | getAllPatients()Returns all non voided patients in the system | 
| List<Patient> | getAllPatients(boolean includeVoided)Returns patients in the system | 
| Integer | getCountOfPatients(String query)Return the number of unvoided patients with names or patient identifiers starting with or
 equal to the specified text | 
| IdentifierValidator | getDefaultIdentifierValidator() | 
| List<Patient> | getDuplicatePatientsByAttributes(List<String> attributes)Search the database for patients that both share the given attributes. | 
| IdentifierValidator | getIdentifierValidator(Class<IdentifierValidator> clazz)Gets an identifier validator matching the given class. | 
| IdentifierValidator | getIdentifierValidator(String pivClassName) | 
| Patient | getPatient(Integer patientId)Get patient by internal identifier | 
| Patient | getPatientByExample(Patient patientToMatch)This method tries to find a patient in the database given the attributes on the given
  patientToMatchobject. | 
| Patient | getPatientByUuid(String uuid)Get patient by universally unique identifier. | 
| PatientIdentifier | getPatientIdentifier(Integer patientIdentifierId)Returns a patient identifier that matches the given patientIndentifier id | 
| PatientIdentifier | getPatientIdentifierByUuid(String uuid)Get patient identifier by universally unique identifier. | 
| List<PatientIdentifier> | getPatientIdentifiers(PatientIdentifierType patientIdentifierType)Deprecated. 
 | 
| List<PatientIdentifier> | getPatientIdentifiers(String identifier,
                     List<PatientIdentifierType> patientIdentifierTypes,
                     List<Location> locations,
                     List<Patient> patients,
                     Boolean isPreferred)Get all patientIdentifiers that match all of the given criteria Voided identifiers are not
 returned | 
| List<PatientIdentifier> | getPatientIdentifiers(String identifier,
                     PatientIdentifierType pit)Deprecated. 
 | 
| PatientIdentifierType | getPatientIdentifierType(Integer patientIdentifierTypeId)Get patientIdentifierType by internal identifier | 
| PatientIdentifierType | getPatientIdentifierType(String name)Deprecated. 
 | 
| PatientIdentifierType | getPatientIdentifierTypeByName(String name)Get patientIdentifierType by exact name | 
| PatientIdentifierType | getPatientIdentifierTypeByUuid(String uuid)Get patient identifierType by universally unique identifier | 
| List<PatientIdentifierType> | getPatientIdentifierTypes()Deprecated. 
 replaced by  getAllPatientIdentifierTypes() | 
| List<PatientIdentifierType> | getPatientIdentifierTypes(String name,
                         String format,
                         Boolean required,
                         Boolean hasCheckDigit)Get all patientIdentifier types that match the given criteria | 
| Patient | getPatientOrPromotePerson(Integer patientOrPersonId)Get patient by internal identifier. | 
| List<Patient> | getPatients(String query)Generic search on patients based on the given string. | 
| List<Patient> | getPatients(String query,
           Integer start,
           Integer length)Generic search on patients based on the given string and returns a specific number of them
 from the specified starting position. | 
| List<Patient> | getPatients(String name,
           String identifier,
           List<PatientIdentifierType> identifierTypes)Deprecated. 
 replaced by a call to  getPatients(String, String, List, boolean)with
             "false" as the last parameter | 
| List<Patient> | getPatients(String name,
           String identifier,
           List<PatientIdentifierType> identifierTypes,
           boolean matchIdentifierExactly)Get patients based on given criteria The identifier is matched with the regex
  OpenmrsConstants.PATIENT_IDENTIFIER_REGEXAll parameters are optional and
 nullable. | 
| List<Patient> | getPatients(String name,
           String identifier,
           List<PatientIdentifierType> identifierTypes,
           boolean matchIdentifierExactly,
           Integer start,
           Integer length)Get a limited size of patients from a given start index based on given criteria The
 identifier is matched with the regex  OpenmrsConstants.PATIENT_IDENTIFIER_REGEXAll parameters are optional and nullable. | 
| List<Patient> | getPatientsByIdentifier(String identifier,
                       boolean includeVoided)Deprecated. 
 replaced by  getPatients(String, String, List) | 
| List<Patient> | getPatientsByIdentifierPattern(String identifier,
                              boolean includeVoided)Deprecated. 
 replaced by getPatients( ... ) | 
| List<Patient> | getPatientsByName(String name)Deprecated. 
 replaced by  getPatients(String, String, List) | 
| List<Patient> | getPatientsByName(String name,
                 boolean includeVoided)Deprecated. 
 replaced by getPatients( ... ) | 
| Problem | getProblem(Integer problemListId)Returns the Problem | 
| List<Problem> | getProblems(Person p)Get a list of the problems for the patient, sorted on sort_weight | 
| Patient | identifierInUse(String identifier,
               PatientIdentifierType type,
               Patient ignorePatient)Deprecated. 
 use #getPatientByIdentifier(String) instead | 
| boolean | isIdentifierInUseByAnotherPatient(PatientIdentifier patientIdentifier)Checks whether the given patient identifier is already assigned to a patient other than
 patientIdentifier.patient | 
| void | mergePatients(Patient preferred,
             Patient notPreferred)Convenience method to join two patients' information into one record. | 
| void | processDeath(Patient patient,
            Date dateDied,
            Concept causeOfDeath,
            String otherReason)Convenience method to establish that a patient has died. | 
| void | purgePatient(Patient patient)Delete patient from database. | 
| void | purgePatientIdentifier(PatientIdentifier patientIdentifier)Purge PatientIdentifier (cannot be undone) | 
| void | purgePatientIdentifierType(PatientIdentifierType patientIdentifierType)Purge PatientIdentifierType (cannot be undone) | 
| void | removeAllergy(Allergy allergy,
             String reason)Resolving the allergy, effectively removes the Allergy from the Patient's Active List by
 setting the stop date to now, if null. | 
| void | removeProblem(Problem problem,
             String reason)Effectively removes the Problem from the Patient's Active List by setting the stop date to
 now, if null. | 
| PatientIdentifierType | retirePatientIdentifierType(PatientIdentifierType patientIdentifierType,
                           String reason)Retire a type of patient identifier | 
| void | saveAllergy(Allergy allergy)Creates an AllergyListItem to the Patient's Allergy Active List. | 
| void | saveCauseOfDeathObs(Patient patient,
                   Date dateDied,
                   Concept causeOfDeath,
                   String otherReason)Convenience method that saves the Obs that indicates when and why the patient died (including
 any "other" reason there might be) TODO keep this in the PatientService? | 
| Patient | savePatient(Patient patient)Saved the given  patientto the database | 
| PatientIdentifier | savePatientIdentifier(PatientIdentifier patientIdentifier)Saved the given  patientIndentifierto the database | 
| PatientIdentifierType | savePatientIdentifierType(PatientIdentifierType patientIdentifierType)Create or update a PatientIdentifierType | 
| void | saveProblem(Problem problem)Creates a ProblemListItem to the Patient's Problem Active List. | 
| void | setPatientDAO(PatientDAO dao)Sets the DAO for this service. | 
| PatientIdentifierType | unretirePatientIdentifierType(PatientIdentifierType patientIdentifierType)Unretire a type of patient identifier | 
| Patient | unvoidPatient(Patient patient)Unvoid patient record | 
| Patient | updatePatient(Patient patient)Deprecated. 
 replaced by #savePatient(Patient) | 
| void | updatePatientIdentifier(PatientIdentifier patientIdentifier)Deprecated. 
 patient identifiers should not be updated directly; rather, after changing
             patient identifiers, use  savePatient(Patient)to save changes to the
             database | 
| void | voidAllergy(Allergy allergy,
           String reason)Used only in cases where the Allergy was entered by error | 
| Patient | voidPatient(Patient patient,
           String reason)Void patient record (functionally delete patient from system) | 
| PatientIdentifier | voidPatientIdentifier(PatientIdentifier patientIdentifier,
                     String reason)Void patient identifier (functionally delete patient identifier from system) | 
| void | voidProblem(Problem problem,
           String reason)Used only in cases where the Problem was entered by error | 
onShutdown, onStartupvoid setPatientDAO(PatientDAO dao)
dao - DAO for this service@Deprecated @Authorized(value="Add Patients") Patient createPatient(Patient patient) throws APIException
APIExceptionsavePatient(Patient)@Authorized(value={"Add Patients","Edit Patients"}) Patient savePatient(Patient patient) throws APIException
patient to the databasepatient - patient to be created or updatedAPIException@Authorized(value="View Patients") @Transactional(readOnly=true) Patient getPatient(Integer patientId) throws APIException
patientId - internal patient identifierAPIException@Authorized(value="View Patients") @Transactional(readOnly=true) Patient getPatientOrPromotePerson(Integer patientOrPersonId) throws APIException
patientOrPersonId - APIException@Transactional(readOnly=true) @Authorized(value="View Patients") Patient getPatientByUuid(String uuid) throws APIException
uuid - universally unique identifierAPIException@Transactional(readOnly=true) @Authorized(value="View Patient Identifiers") PatientIdentifier getPatientIdentifierByUuid(String uuid) throws APIException
uuid - universally unique identifierAPIException@Deprecated Patient updatePatient(Patient patient) throws APIException
APIExceptionsavePatient(Patient)@Authorized(value="View Patients") @Transactional(readOnly=true) List<Patient> getAllPatients() throws APIException
APIExceptiongetAllPatients(boolean)@Authorized(value="View Patients") @Transactional(readOnly=true) List<Patient> getAllPatients(boolean includeVoided) throws APIException
includeVoided - if false, will limit the search to non-voided patientsAPIException@Deprecated @Transactional(readOnly=true) Patient identifierInUse(String identifier, PatientIdentifierType type, Patient ignorePatient)
@Deprecated @Transactional(readOnly=true) List<Patient> getPatientsByIdentifier(String identifier, boolean includeVoided) throws APIException
getPatients(String, String, List)APIException@Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatients(String name, String identifier, List<PatientIdentifierType> identifierTypes, boolean matchIdentifierExactly) throws APIException
OpenmrsConstants.PATIENT_IDENTIFIER_REGEX All parameters are optional and
 nullable. If null, it is not included in the search. Will not return voided patientsname - (optional) this is a slight break from the norm, patients with a partial match on
            this name will be returnedidentifier - (optional) only patients with a matching identifier are returnedidentifierTypes - (optional) the PatientIdentifierTypes to restrict tomatchIdentifierExactly - (required) if true, then the given identifier must
            equal the id in the database. if false, then the identifier is 'searched' for by
            using a regular expressionAPIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatients(String name, String identifier, List<PatientIdentifierType> identifierTypes) throws APIException
getPatients(String, String, List, boolean) with
             "false" as the last parameterAPIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatientsByIdentifierPattern(String identifier, boolean includeVoided) throws APIException
APIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatientsByName(String name) throws APIException
getPatients(String, String, List)APIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatientsByName(String name, boolean includeVoided) throws APIException
APIException@Authorized(value="Delete Patients") Patient voidPatient(Patient patient, String reason) throws APIException
patient - patient to be voidedreason - reason for voiding patientAPIException@Authorized(value="Delete Patients") Patient unvoidPatient(Patient patient) throws APIException
patient - patient to be revivedAPIException@Deprecated @Authorized(value="Purge Patients") void deletePatient(Patient patient) throws APIException
purgePatient(Patient)APIExceptionpurgePatient(Patient)@Authorized(value="Purge Patients") void purgePatient(Patient patient) throws APIException
patient - patient to be deletedAPIExceptionvoidPatient(org.openmrs.Patient,java.lang.String)@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patient Identifiers") List<PatientIdentifier> getPatientIdentifiers(PatientIdentifierType patientIdentifierType) throws APIException
getPatientIdentifiers(String, List, List, List, Boolean)APIException@Transactional(readOnly=true) @Authorized(value="View Patient Identifiers") List<PatientIdentifier> getPatientIdentifiers(String identifier, List<PatientIdentifierType> patientIdentifierTypes, List<Location> locations, List<Patient> patients, Boolean isPreferred) throws APIException
identifier - the full identifier to match onpatientIdentifierTypes - the type of identifiers to getlocations - the locations of the identifiers to matchpatients - the patients containing these identifiersisPreferred - if true, limits to only preferred identifiers if false, only non
            preferred. if null, ignores preferred statusAPIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patient Identifiers") List<PatientIdentifier> getPatientIdentifiers(String identifier, PatientIdentifierType pit) throws APIException
getPatientIdentifiers(String, List, List, List, Boolean)APIException@Deprecated @Authorized(value="Edit Patient Identifiers") void updatePatientIdentifier(PatientIdentifier patientIdentifier) throws APIException
savePatient(Patient) to save changes to the
             databasepatientIdentifier - identifier to be updatedAPIException@Authorized(value="Manage Identifier Types") PatientIdentifierType savePatientIdentifierType(PatientIdentifierType patientIdentifierType) throws APIException
patientIdentifierType - PatientIdentifierType to create or updateAPIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Identifier Types") List<PatientIdentifierType> getPatientIdentifierTypes() throws APIException
getAllPatientIdentifierTypes()APIExceptiongetAllPatientIdentifierTypes()@Transactional(readOnly=true) @Authorized(value="View Identifier Types") List<PatientIdentifierType> getAllPatientIdentifierTypes() throws APIException
 Ordered same as PatientIdentifierTypeDefaultComparator.
APIException@Transactional(readOnly=true) @Authorized(value="View Identifier Types") List<PatientIdentifierType> getAllPatientIdentifierTypes(boolean includeRetired) throws APIException
 Ordered same as PatientIdentifierTypeDefaultComparator.
includeRetired - true/false whether retired types should be includedAPIException@Transactional(readOnly=true) @Authorized(value="View Identifier Types") List<PatientIdentifierType> getPatientIdentifierTypes(String name, String format, Boolean required, Boolean hasCheckDigit) throws APIException
 Ordered same as PatientIdentifierTypeDefaultComparator.
name - name of the type to match onformat - the string format to match onrequired - if true, limits to only identifiers marked as required if false, only non
            required. if null, ignores required bithasCheckDigit - if true, limits to only check digit'd identifiers if false, only non
            checkdigit'd. if null, ignores checkDigitAPIException@Transactional(readOnly=true) @Authorized(value="View Identifier Types") PatientIdentifierType getPatientIdentifierType(Integer patientIdentifierTypeId) throws APIException
patientIdentifierTypeId - APIException@Transactional(readOnly=true) @Authorized(value="View Identifier Types") PatientIdentifierType getPatientIdentifierTypeByUuid(String uuid) throws APIException
patientIdentifierTypeId - APIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Identifier Types") PatientIdentifierType getPatientIdentifierType(String name) throws APIException
getPatientIdentifierTypeByName(String)APIException@Transactional(readOnly=true) @Authorized(value="View Identifier Types") PatientIdentifierType getPatientIdentifierTypeByName(String name) throws APIException
name - APIException@Authorized(value="Manage Identifier Types") PatientIdentifierType retirePatientIdentifierType(PatientIdentifierType patientIdentifierType, String reason) throws APIException
patientIdentifierType - type of patient identifier to be retiredreason - the reason to retire this identifier typeAPIException@Authorized(value="Manage Identifier Types") PatientIdentifierType unretirePatientIdentifierType(PatientIdentifierType patientIdentifierType) throws APIException
patientIdentifierType - type of patient identifier to be unretiredAPIException@Authorized(value="Purge Identifier Types") void purgePatientIdentifierType(PatientIdentifierType patientIdentifierType) throws APIException
patientIdentifierType - PatientIdentifierType to purge from the databaseAPIException@Deprecated @Authorized(value="View Patient Identifiers") void checkPatientIdentifier(PatientIdentifier patientIdentifier) throws PatientIdentifierException
PatientIdentifierValidator.validateIdentifier(PatientIdentifier)patientIdentifier - identifier to be validatedPatientIdentifierException - if the identifier is invalidcheckPatientIdentifiers(Patient)@Authorized(value="View Patient Identifiers") void checkPatientIdentifiers(Patient patient) throws PatientIdentifierException
patient - patient for which to validate identifiersPatientIdentifierException - if one or more of the identifiers are invalidcheckPatientIdentifiers(Patient)@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> findPatients(String query, boolean includeVoided) throws APIException
APIExceptiongetPatients(String)@Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatients(String query) throws APIException
query - the string to search onAPIException@Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatients(String query, Integer start, Integer length) throws APIException
query - the string to search onstart - the starting indexlength - the number of patients to returnAPIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patients") Patient findPatient(Patient patientToMatch) throws APIException
APIExceptiongetPatientByExample(Patient)@Transactional(readOnly=true) @Authorized(value="View Patients") Patient getPatientByExample(Patient patientToMatch) throws APIException
patientToMatch object. Assumes there could be a PersonAttribute on this Patient
 with PersonAttributeType.name = "Other Matching Information". This PersonAttribute has a
 "value" that is just key value pairs in the form of key:value;nextkey:nextvalue;patientToMatch - APIException@Deprecated @Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> findDuplicatePatients(Set<String> attributes) throws APIException
getDuplicatePatientsByAttributes(List)APIExceptiongetDuplicatePatientsByAttributes(List)@Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getDuplicatePatientsByAttributes(List<String> attributes) throws APIException
attributes - attributes on a Person or Patient object. similar to: [gender, givenName,
            middleName, familyName]APIException@Authorized(value="Edit Patients") void mergePatients(Patient preferred, Patient notPreferred) throws APIException
nonPreferred to point at
 preferrednonPreferred to
 preferred IFF the data is missing or null in preferrednotPreferred is marked as voidedpreferred - The Patient to merge tonotPreferred - The Patient to merge from (and then void)APIException@Authorized(value="Edit Patients") void exitFromCare(Patient patient, Date dateExited, Concept reasonForExit) throws APIException
patient - - the patient who has exited caredateExited - - the declared date/time of the patient's exitreasonForExit - - the concept that corresponds with why the patient has been declared as
            exitedAPIException@Authorized(value="Edit Patients") void processDeath(Patient patient, Date dateDied, Concept causeOfDeath, String otherReason) throws APIException
patient - - the patient who has dieddateDied - - the declared date/time of the patient's deathcauseOfDeath - - the concept that corresponds with the reason the patient diedotherReason - - if the concept representing the reason is OTHER NON-CODED, and a
            string-based "other" reason is suppliedAPIException@Authorized(value={"View Patients","Edit Observations"}, requireAll=true) void saveCauseOfDeathObs(Patient patient, Date dateDied, Concept causeOfDeath, String otherReason) throws APIException
patient - - the patient who has dieddateDied - - the declared date/time of the patient's deathcauseOfDeath - - the concept that corresponds with the reason the patient diedotherReason - - if the concept representing the reason is OTHER NON-CODED, and a
            string-based "other" reason is suppliedAPIException@Transactional(readOnly=true) IdentifierValidator getIdentifierValidator(Class<IdentifierValidator> clazz)
clazz - identifierValidator which validator to get.@Transactional(readOnly=true) IdentifierValidator getIdentifierValidator(String pivClassName)
@Transactional(readOnly=true) IdentifierValidator getDefaultIdentifierValidator()
@Transactional(readOnly=true) Collection<IdentifierValidator> getAllIdentifierValidators()
@Authorized(value="View Patients") @Transactional(readOnly=true) boolean isIdentifierInUseByAnotherPatient(PatientIdentifier patientIdentifier)
patientIdentifier - the patient identifier to look for in other patients@Authorized(value="View Patient Identifiers") @Transactional(readOnly=true) PatientIdentifier getPatientIdentifier(Integer patientIdentifierId) throws APIException
patientIdentifier - the patientIdentifier idAPIException@Authorized(value="Delete Patient Identifiers") PatientIdentifier voidPatientIdentifier(PatientIdentifier patientIdentifier, String reason) throws APIException
patient - patientIdentifier to be voidedreason - reason for voiding patient identifierAPIException@Authorized(value={"Add Patient Identifiers","Edit Patient Identifiers"}) PatientIdentifier savePatientIdentifier(PatientIdentifier patientIdentifier) throws APIException
patientIndentifier to the databasepatientIndentifier - patientIndentifier to be created or updatedAPIException@Authorized(value="Purge Patient Identifiers") void purgePatientIdentifier(PatientIdentifier patientIdentifier) throws APIException
patientIdentifier - PatientIdentifier to purge from the databaseAPIException@Transactional(readOnly=true) @Authorized(value="View Problems") List<Problem> getProblems(Person p) throws APIException
p - the PersonAPIException@Transactional(readOnly=true) @Authorized(value="View Problems") Problem getProblem(Integer problemListId) throws APIException
problemListId - APIException@Authorized(value={"Add Problems","Edit Problems"}) void saveProblem(Problem problem) throws APIException
problem - the ProblemAPIException@Authorized(value="Edit Problems") void removeProblem(Problem problem, String reason) throws APIException
problem - the Problemreason - the reason of removing the problemAPIException@Authorized(value="Remove Problems") void voidProblem(Problem problem, String reason) throws APIException
problem - reason - APIException@Transactional(readOnly=true) @Authorized(value="View Allergies") List<Allergy> getAllergies(Person p) throws APIException
p - the PersonAPIException@Transactional(readOnly=true) @Authorized(value="View Allergies") Allergy getAllergy(Integer allergyListId) throws APIException
allergyListId - APIException@Authorized(value={"Add Allergies","Edit Allergies"}) void saveAllergy(Allergy allergy) throws APIException
allergy - the AllergyAPIException@Authorized(value="Edit Allergies") void removeAllergy(Allergy allergy, String reason) throws APIException
allergy - the Allergyreason - the reason of removeAPIException@Authorized(value="Remove Allergies") void voidAllergy(Allergy allergy, String reason) throws APIException
allergy - reason - APIException@Transactional(readOnly=true) @Authorized(value="View Patients") Integer getCountOfPatients(String query)
query - the string to search on@Transactional(readOnly=true) @Authorized(value="View Patients") List<Patient> getPatients(String name, String identifier, List<PatientIdentifierType> identifierTypes, boolean matchIdentifierExactly, Integer start, Integer length) throws APIException
OpenmrsConstants.PATIENT_IDENTIFIER_REGEX
 All parameters are optional and nullable. If null, it is not included in the search. Will not
 return voided patientsname - (optional) this is a slight break from the norm, patients with a partial match on
            this name will be returnedidentifier - (optional) only patients with a matching identifier are returnedidentifierTypes - (optional) the PatientIdentifierTypes to restrict tomatchIdentifierExactly - (required) if true, then the given identifier must
            equal the id in the database. if false, then the identifier is 'searched' for by
            using a regular expressionstart - the starting indexlength - the number of patients to returnAPIExceptionCopyright © 2018 OpenMRS LLC.. All Rights Reserved.