Appearance
Endpoint: /Patient/Update
This endpoint provides a method for consumers of the API to update patients they receive new information for. The request payload will be very much like Patient/Get response bodies, except with the data they want to push into the patient record.
Request: JSON
{
"PatientID": int,
"PatientExternalID": string,
"PatientGroupID": int,
"PatientFirst": string,
"PatientLast": string,
"PatientMiddle": string,
"PatientDOB": DateTime,
"DeceasedDate": DateTime,
"PatientSSN": string,
"PatientGender": string,
"PatientEthnicity": [
{
"EthnicityName": string,
"HL7Code": string,
"UniqueIdentifier": string,
"HierarchicalCode": string
}
],
"PatientRace": [
{
"RaceName": string,
"HL7RaceCode": string,
"HierarchicalCode": string
}
],
"PatientAddress": {
"AddressLine1": string,
"AddressLine2": string,
"City": string,
"State": string,
"Zip": string
},
"PatientPhone": string,
"PatientMobilePhone": string,
"PatientFloor": string,
"PatientRoom": string,
"PatientAdmitDate": DateTime,
"PatientDischargeDate": DateTime,
"Facility": {
"FacilityName": string,
"PlaceOfServiceCode": int,
"NPI": string,
"ExternalID": string,
"FacilityAddress": {
"AddressLine1": string,
"AddressLine2": string,
"City": string,
"State": string,
"Zip": string
}
},
"ProblemList": [
{
"ICD10": string,
"SNOMED": long,
"Status": int,
"StatusText": string
}
],
"Insurance": [
{
"InsuranceSetID": int,
"InsuranceCode": string,
"CompanyName": string,
"CompanyAddress": {
"AddressLine1": string,
"AddressLine2": string,
"City": string,
"State": string,
"Zip": string
},
"CompanyContact": string,
"CompanyContactPhone": string,
"GroupNumber": string,
"GroupName": string,
"GroupEmployerID": string,
"PlanEffectiveDate": DateTime,
"PlanExpirationDate": DateTime,
"InsuranceType": string,
"SubscriberFirst": string,
"SubscriberLast": string,
"SubscriberGender": string,
"SubscriberRelationToPatient": string,
"SubscriberAddress": {
"AddressLine1": string,
"AddressLine2": string,
"City": string,
"State": string,
"Zip": string
},
"AssignmentOfBenefits": DateTime,
"InsurancePriority": string,
"PolicyNumber": string,
"SubscriberEmployerAddress": {
"AddressLine1": string,
"AddressLine2": string,
"City": string,
"State": string,
"Zip": string
}
}
],
"IsACO": bool,
"PatientStatusID": int,
"PatientEmail": string,
"PatientLanguage": {
"LanguageName": string,
"Code_639_1": string,
"Code_639_2": string
},
"PatientSecondaryExternalID": string,
"GenderIdentity": int,
"GenderIdentityOther": string,
"SexualOrientation": int,
"SexualOrientationOther": string,
"SmokingStatus": int,
"SmokingCessationID": int,
"SmokingStatusDateChange": DateTime,
"MedicaidNumber": string,
"MedicareNumber": string
}The minimum required data set for a Patient Update is the Patient First, Patient Last, Patient DOB, and the Patient Gender (acceptable values being "M", "F", or "U" (lower-case values are also valid)).
If a PatientID is provided, the GEHRIMED patient with that ID will be updated. If no PatientID is provided, a new patient will be created. This functionality must be utilized very carefully to prevent duplication of patient records and/or cross contamination of PHI.
For PatientLanguage, the following are valid language identifiers: an ISO 639-1 code, or an ISO 639-2 code (both values are not required to properly save language), OR "Declined to specify". Reference documents have been provided, but if need arises, please reach out for current reference documents for valid codes. Invalid codes will result in an invalid argument / ArgumentException returned.
For PatientEthnicity, the following are valid ethnicity identifiers: a plain english name for the ethnicity, OR "Declined to specify". Reference documents have been provided, but if need arises, please reach out for current reference documents for valid ethnicities. Invalid ethnicity names will result in an invalid argument / ArgumentException returned.
For PatientRace, the following are valid race identifiers: a plain english name for the race, an HL7 Race Code, OR "Declined to specify". Reference documents have been provided, but if need arises, please reach out for current reference documents for valid races. Invalid race names will result in an invalid argument / ArgumentException returned.
For ProblemList, on data outbound from GEHRIMED, ICD10, SNOMED, Status, and StatusText will be provided. For INBOUND data, using the Patient/Update endpoint, only the ICD10 value can be used to add entries to the patient's ProblemList. All incoming diagnoses will arrive in an inactive state. SNOMED codes, Status, and StatusText will be ignored for saving new diagnoses.
Use the following lists for specified coded entries:
| PatientStatusID | Status Text |
|---|---|
| 1 | Active |
| 2 | Moved Facility |
| 3 | Home |
| 4 | Home AMA |
| 5 | Assisted Living |
| 6 | Hospital |
| 7 | Death |
| 8 | Other |
| 9 | Hospice |
| 10 | Patient No Longer in Care of Practice |
| GenderIdentity | Status Text |
|---|---|
| 1 | Identifiesas Male |
| 2 | Identifiesas Female |
| 3 | Female to Male (FTM) Transgender |
| 4 | Male to Female (MTF) Transgender |
| 5 | Gender queer / neither exclusively male nor female |
| 6 | Additional gender category or other (Specify in GenderIdentityOther) |
| 7 | Choose not to disclose |
| SexualOrientation | Status Text |
|---|---|
| 1 | Lesbian, gay, or homosexual |
| 2 | Straight or heterosexual |
| 3 | Bisexual |
| 4 | Other (Specify in SexualOrientationOther) |
| 5 | Don't know |
| 6 | Choose not to disclose |
| SmokingStatus | Status Text |
|---|---|
| 1 | Current everyday smoker |
| 2 | Current someday smoker |
| 3 | Former smoker |
| 4 | Never smoker |
| 5 | Smoker current status unknown |
| 6 | Unknown if ever smoked |
| 7 | Heavy tobacco smoker |
| 8 | Light tobacco smoker |
| SmokingCessationID | Status Text |
|---|---|
| 1 | Counseled patient to quit smoking |
| 2 | Prescribed smoking cessation therapy for patient requirese Rx for CQM |
| 3 | Counseled patient to quit using smokeless tobacco |
| 4 | Prescribed smokeless tobacco cessation therapy for patient requirese Rx for CQM |
| 5 | No counseling provided |
Response: JSON
{
"Metadata": {
"ApiSender": string,
"ApiConsumer": string,
"MessageDateTime": DateTime
},
"Data": {
"Success": bool,
"PatientID": int,
"Message": string
}
}