@centricare/contract 0.3.0 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var z5 = require('zod');
4
- var zodMongoose = require('@nullix/zod-mongoose');
5
4
  var mongoose = require('mongoose');
5
+ var zodMongoose = require('@nullix/zod-mongoose');
6
6
 
7
7
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
8
 
9
9
  var z5__default = /*#__PURE__*/_interopDefault(z5);
10
+ var mongoose__default = /*#__PURE__*/_interopDefault(mongoose);
10
11
 
11
12
  // src/commons/timestamp.ts
12
13
  var isoDatetimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:?\d{2})$/;
@@ -1013,11 +1014,14 @@ var addressSchema = z5.z.object({
1013
1014
  province: codedConceptSchema,
1014
1015
  postal_code: z5.z.string().optional()
1015
1016
  });
1016
- var objectIdSchema = z5.z.string().length(24, {
1017
- message: "ObjectId must be a 24-character hexadecimal string"
1018
- }).regex(/^[0-9a-fA-F]{24}$/, {
1019
- message: "ObjectId must be a valid MongoDB ObjectId (24-character hex string)"
1020
- });
1017
+ var _objectIdSchema = zodMongoose.withMongoose(
1018
+ z5.z.string().length(24).refine(
1019
+ (val) => /^[0-9a-fA-F]{24}$/.test(val),
1020
+ { message: "Invalid ObjectId: must be a 24-character hexadecimal string" }
1021
+ ),
1022
+ { type: mongoose__default.default.Schema.Types.ObjectId }
1023
+ );
1024
+ var objectIdSchema = _objectIdSchema;
1021
1025
  var baseSchema = (version) => z5.z.object({
1022
1026
  _id: objectIdSchema,
1023
1027
  created_at: timestampSchema,
@@ -1035,6 +1039,234 @@ var baseSchemaWithExpiredAt = (version) => z5.z.object({
1035
1039
  expired_at: timestampSchema,
1036
1040
  schema_version: z5.z.number().int().positive().default(version)
1037
1041
  });
1042
+ var PATIENT_SCHEMA_VERSION = 1;
1043
+ var patientSchema = baseSchema(PATIENT_SCHEMA_VERSION).extend({
1044
+ organization_id: objectIdSchema,
1045
+ registering_facility_id: objectIdSchema,
1046
+ identifiers: z5.z.array(codedConceptSchema),
1047
+ salutation: codedConceptSchema,
1048
+ first_name: z5.z.string().min(1, { message: "first_name is required" }),
1049
+ middle_name: z5.z.string().optional(),
1050
+ last_name: z5.z.string().min(1, { message: "last_name is required" }),
1051
+ title: z5.z.string().optional(),
1052
+ image: z5.z.string().optional(),
1053
+ demographic: demographicSchema.extend({
1054
+ place_of_birth: demographicSchema.shape.place_of_birth.unwrap(),
1055
+ date_of_birth: demographicSchema.shape.date_of_birth.unwrap(),
1056
+ marital_status: demographicSchema.shape.marital_status.unwrap()
1057
+ }),
1058
+ statuses: z5.z.array(codedConceptSchema).nonempty({
1059
+ message: "statuses must contain at least one CodedConcept"
1060
+ }),
1061
+ contacts: z5.z.array(codedConceptSchema).optional(),
1062
+ address: addressSchema
1063
+ });
1064
+ var PatientMongooseSchema = zodMongoose.toMongooseSchema(patientSchema);
1065
+ var PatientModelName = "patients";
1066
+ var PatientModel = mongoose__default.default.models[PatientModelName] || mongoose.model(PatientModelName, PatientMongooseSchema);
1067
+
1068
+ // src/models/patient/patient-minimal.schema.ts
1069
+ var patientMinimalSchema = patientSchema.omit({
1070
+ _id: true,
1071
+ created_at: true,
1072
+ created_by: true,
1073
+ updated_at: true,
1074
+ updated_by: true,
1075
+ schema_version: true
1076
+ });
1077
+
1078
+ // src/models/patient/patient-partial.schema.ts
1079
+ var patientPartialSchema = patientMinimalSchema.partial();
1080
+
1081
+ // src/models/appointment/appointment.schema.ts
1082
+ var APPOINTMENT_SCHEMA_VERSION = 1;
1083
+ var appointmentSchema = baseSchema(APPOINTMENT_SCHEMA_VERSION).extend({
1084
+ facility_id: z5.z.string(),
1085
+ organization_id: z5.z.string(),
1086
+ identifiers: z5.z.array(codedConceptSchema),
1087
+ patient: z5.z.union([patientPartialSchema, objectIdSchema]),
1088
+ queue_number_id: objectIdSchema,
1089
+ practitioner_id: objectIdSchema,
1090
+ unit_id: objectIdSchema,
1091
+ date: z5.z.string(),
1092
+ session: z5.z.string(),
1093
+ payer_type: z5.z.string(),
1094
+ method: codedConceptSchema,
1095
+ complaint: z5.z.string(),
1096
+ statuses: z5.z.array(codedConceptSchema),
1097
+ cancel_metadata: z5.z.object({
1098
+ reason: z5.z.string().nullable(),
1099
+ user_id: z5.z.string().nullable(),
1100
+ timestamp: timestampSchema.nullable()
1101
+ }),
1102
+ register_metadata: z5.z.object({
1103
+ reason: z5.z.string().nullable(),
1104
+ user_id: z5.z.string().nullable(),
1105
+ timestamp: timestampSchema.nullable()
1106
+ })
1107
+ });
1108
+ var AppointmentMongooseSchema = zodMongoose.toMongooseSchema(appointmentSchema);
1109
+ var AppointmentModelName = "appointments";
1110
+ var AppointmentModel = mongoose__default.default.models[AppointmentModelName] || mongoose.model(AppointmentModelName, AppointmentMongooseSchema);
1111
+
1112
+ // src/models/appointment/appointment-minimal.schema.ts
1113
+ var appointmentMinimalSchema = appointmentSchema.omit({
1114
+ _id: true,
1115
+ created_at: true,
1116
+ created_by: true,
1117
+ updated_at: true,
1118
+ updated_by: true,
1119
+ schema_version: true
1120
+ });
1121
+
1122
+ // src/models/appointment/appointment-partial.schema.ts
1123
+ var appointmentPartialSchema = appointmentMinimalSchema.partial();
1124
+ var ENCOUNTER_SCHEMA_VERSION = 1;
1125
+ var encounterSchema = baseSchema(ENCOUNTER_SCHEMA_VERSION).extend({
1126
+ facility_id: z5.z.string(),
1127
+ organization_id: z5.z.string(),
1128
+ identifiers: z5.z.array(codedConceptSchema),
1129
+ type: codedConceptSchema,
1130
+ appointment_id: objectIdSchema.nullable(),
1131
+ patient: z5.z.union([patientPartialSchema, objectIdSchema]),
1132
+ unit_id: objectIdSchema,
1133
+ practitioner_id: objectIdSchema.nullable(),
1134
+ date: z5.z.string(),
1135
+ session: z5.z.string(),
1136
+ queue_number_id: objectIdSchema,
1137
+ statuses: z5.z.array(codedConceptSchema),
1138
+ cancel_metadata: z5.z.object({
1139
+ reason: z5.z.string().nullable(),
1140
+ user_id: z5.z.string().nullable(),
1141
+ timestamp: timestampSchema.nullable()
1142
+ }),
1143
+ discharge_metadata: z5.z.object({
1144
+ reason: z5.z.string().nullable(),
1145
+ user_id: z5.z.string().nullable(),
1146
+ timestamp: timestampSchema.nullable()
1147
+ })
1148
+ });
1149
+ var EncounterMongooseSchema = zodMongoose.toMongooseSchema(encounterSchema);
1150
+ var EncounterModelName = "encounters";
1151
+ var EncounterModel = mongoose__default.default.models[EncounterModelName] || mongoose.model(EncounterModelName, EncounterMongooseSchema);
1152
+
1153
+ // src/models/encounter/encounter-minimal.schema.ts
1154
+ var encounterMinimalSchema = encounterSchema.omit({
1155
+ _id: true,
1156
+ created_at: true,
1157
+ created_by: true,
1158
+ updated_at: true,
1159
+ updated_by: true,
1160
+ schema_version: true
1161
+ });
1162
+
1163
+ // src/models/encounter/encounter-partial.schema.ts
1164
+ var encounterPartialSchema = encounterMinimalSchema.partial();
1165
+ var ENCOUNTER_ADDITIONAL_SCHEMA_VERSION = 1;
1166
+ var encounterAdditionalSchema = baseSchema(
1167
+ ENCOUNTER_ADDITIONAL_SCHEMA_VERSION
1168
+ ).extend({
1169
+ encounter_id: objectIdSchema,
1170
+ type: codedConceptSchema,
1171
+ data: z5.z.union([z5.z.object({}), z5.z.array(z5.z.any())])
1172
+ });
1173
+ var EncounterAdditionalMongooseSchema = zodMongoose.toMongooseSchema(encounterAdditionalSchema);
1174
+ var EncounterAdditionalModelName = "encounter_additionals";
1175
+ var EncounterAdditionalModel = mongoose__default.default.models[EncounterAdditionalModelName] || mongoose.model(EncounterAdditionalModelName, EncounterAdditionalMongooseSchema);
1176
+
1177
+ // src/models/encounter-additional/encounter-additional-minimal.schema.ts
1178
+ var encounterAdditionalMinimalSchema = encounterAdditionalSchema.omit({
1179
+ _id: true,
1180
+ created_at: true,
1181
+ created_by: true,
1182
+ updated_at: true,
1183
+ updated_by: true,
1184
+ schema_version: true
1185
+ });
1186
+
1187
+ // src/models/encounter-additional/encounter-additional-partial.schema.ts
1188
+ var encounterAdditionalPartialSchema = encounterAdditionalMinimalSchema.partial();
1189
+ var MEDICAL_RECORD_SCHEMA_VERSION = 1;
1190
+ var ALLOWED_SYSTEM = {
1191
+ type: ["crn:medical-record:type"],
1192
+ identifiers: ["crn:identifier"],
1193
+ statuses: ["crn:status:system", "crn:status:medical-record"],
1194
+ component: {
1195
+ label: ["crn:medical-record:label"]
1196
+ }
1197
+ };
1198
+ var medicalRecordComponentSchema = z5.z.object({
1199
+ label: codedConceptSchema.refine(
1200
+ (data) => ALLOWED_SYSTEM.component.label.includes(data.system),
1201
+ { message: "Invalid CodedConcept: System are not allowed" }
1202
+ ),
1203
+ value: z5.z.any(),
1204
+ recorded_by: z5.z.string(),
1205
+ recorded_at: timestampSchema,
1206
+ validated: z5.z.boolean().default(false),
1207
+ validated_at: timestampSchema
1208
+ });
1209
+ var medicalRecordSchema = baseSchema(
1210
+ MEDICAL_RECORD_SCHEMA_VERSION
1211
+ ).extend({
1212
+ type: codedConceptSchema.refine(
1213
+ (data) => ALLOWED_SYSTEM.type.includes(data.system),
1214
+ { message: "Invalid CodedConcept: System are not allowed" }
1215
+ ),
1216
+ identifiers: z5.z.array(
1217
+ codedConceptSchema.refine(
1218
+ (data) => ALLOWED_SYSTEM.identifiers.includes(data.system),
1219
+ { message: "Invalid CodedConcept: System are not allowed" }
1220
+ )
1221
+ ),
1222
+ statuses: z5.z.array(
1223
+ codedConceptSchema.refine(
1224
+ (data) => ALLOWED_SYSTEM.statuses.includes(data.system),
1225
+ { message: "Invalid CodedConcept: System are not allowed" }
1226
+ )
1227
+ ),
1228
+ record_custodian_id: z5.z.string(),
1229
+ locked_at: timestampSchema,
1230
+ components: z5.z.array(medicalRecordComponentSchema)
1231
+ });
1232
+ var MedicalRecordMongooseSchema = zodMongoose.toMongooseSchema(medicalRecordSchema);
1233
+ var MedicalRecordModelName = "medical_records";
1234
+ var MedicalRecordModel = mongoose__default.default.models[MedicalRecordModelName] || mongoose.model(MedicalRecordModelName, MedicalRecordMongooseSchema);
1235
+
1236
+ // src/models/medical-record/medical-record-minimal.schema.ts
1237
+ var medicalRecordMinimalSchema = medicalRecordSchema.omit({
1238
+ _id: true,
1239
+ created_at: true,
1240
+ created_by: true,
1241
+ updated_at: true,
1242
+ updated_by: true,
1243
+ schema_version: true
1244
+ });
1245
+
1246
+ // src/models/medical-record/medical-record-partial.schema.ts
1247
+ var medicalRecordPartialSchema = medicalRecordMinimalSchema.partial();
1248
+ var NOTE_SCHEMA_VERSION = 1;
1249
+ var noteSchema = baseSchema(NOTE_SCHEMA_VERSION).extend({
1250
+ scope: z5.z.string(),
1251
+ reference_id: objectIdSchema,
1252
+ note: z5.z.string()
1253
+ });
1254
+ var NoteMongooseSchema = zodMongoose.toMongooseSchema(noteSchema);
1255
+ var NoteModelName = "notes";
1256
+ var NoteModel = mongoose__default.default.models[NoteModelName] || mongoose.model(NoteModelName, NoteMongooseSchema);
1257
+
1258
+ // src/models/note/note-minimal.schema.ts
1259
+ var noteMinimalSchema = noteSchema.omit({
1260
+ _id: true,
1261
+ created_at: true,
1262
+ created_by: true,
1263
+ updated_at: true,
1264
+ updated_by: true,
1265
+ schema_version: true
1266
+ });
1267
+
1268
+ // src/models/note/note-partial.schema.ts
1269
+ var notePartialSchema = noteMinimalSchema.partial();
1038
1270
  var USER_SCHEMA_VERSION = 1;
1039
1271
  var userSchema = z5.z.object({
1040
1272
  id: z5.z.string(),
@@ -1061,7 +1293,7 @@ var userSchema = z5.z.object({
1061
1293
  });
1062
1294
  var UserMongooseSchema = zodMongoose.toMongooseSchema(userSchema);
1063
1295
  var UserModelName = "users";
1064
- var UserModel = mongoose.model(UserModelName, UserMongooseSchema);
1296
+ var UserModel = mongoose__default.default.models[UserModelName] || mongoose.model(UserModelName, UserMongooseSchema);
1065
1297
  var USER_SETTING_FIELDS = [
1066
1298
  "lock_screen",
1067
1299
  "lock_screen_pin",
@@ -1109,10 +1341,7 @@ var assignmentSchema = baseSchema(ASSIGNMENT_SCHEMA_VERSION).extend({
1109
1341
  });
1110
1342
  var AssignmentMongooseSchema = zodMongoose.toMongooseSchema(assignmentSchema);
1111
1343
  var AssignmentModelName = "assignments";
1112
- var AssignmentModel = mongoose.model(
1113
- AssignmentModelName,
1114
- AssignmentMongooseSchema
1115
- );
1344
+ var AssignmentModel = mongoose__default.default.models[AssignmentModelName] || mongoose.model(AssignmentModelName, AssignmentMongooseSchema);
1116
1345
 
1117
1346
  // src/models/assignment/assignment-minimal.schema.ts
1118
1347
  var assignmentMinimalSchema = assignmentSchema.omit({
@@ -1134,7 +1363,7 @@ var departmentSchema = baseSchema(DEPARTMENT_SCHEMA_VERSION).extend({
1134
1363
  });
1135
1364
  var DepartmentMongooseSchema = zodMongoose.toMongooseSchema(departmentSchema);
1136
1365
  var DepartmentModelName = "departments";
1137
- var DepartmentModel = mongoose.model(DepartmentModelName, DepartmentMongooseSchema);
1366
+ var DepartmentModel = mongoose__default.default.models[DepartmentModelName] || mongoose.model(DepartmentModelName, DepartmentMongooseSchema);
1138
1367
 
1139
1368
  // src/models/department/department-minimal.schema.ts
1140
1369
  var departmentMinimalSchema = departmentSchema.omit({
@@ -1161,7 +1390,7 @@ var facilitySchema = z5.z.object({
1161
1390
  });
1162
1391
  var FacilityMongooseSchema = zodMongoose.toMongooseSchema(facilitySchema);
1163
1392
  var FacilityModelName = "facilities";
1164
- var FacilityModel = mongoose.model(FacilityModelName, FacilityMongooseSchema);
1393
+ var FacilityModel = mongoose__default.default.models[FacilityModelName] || mongoose.model(FacilityModelName, FacilityMongooseSchema);
1165
1394
  var FACILITY_SETTING_FIELDS = [
1166
1395
  "branding_logo",
1167
1396
  "satusehat_org_id",
@@ -1235,7 +1464,7 @@ var locationSchema = baseSchema(LOCATION_SCHEMA_VERSION).extend({
1235
1464
  });
1236
1465
  var LocationMongooseSchema = zodMongoose.toMongooseSchema(locationSchema);
1237
1466
  var LocationModelName = "locations";
1238
- var LocationModel = mongoose.model(LocationModelName, LocationMongooseSchema);
1467
+ var LocationModel = mongoose__default.default.models[LocationModelName] || mongoose.model(LocationModelName, LocationMongooseSchema);
1239
1468
  var LOCATION_SETTING_FIELDS = [
1240
1469
  "sex_restriction",
1241
1470
  "is_inventory_location",
@@ -1283,7 +1512,7 @@ var memberSchema = z5.z.object({
1283
1512
  });
1284
1513
  var MemberMongooseSchema = zodMongoose.toMongooseSchema(memberSchema);
1285
1514
  var MemberModelName = "members";
1286
- var MemberModel = mongoose.model(MemberModelName, MemberMongooseSchema);
1515
+ var MemberModel = mongoose__default.default.models[MemberModelName] || mongoose.model(MemberModelName, MemberMongooseSchema);
1287
1516
 
1288
1517
  // src/models/member/member-minimal.schema.ts
1289
1518
  var memberMinimalSchema = memberSchema.omit({
@@ -1308,7 +1537,7 @@ var organizationSchema = z5.z.object({
1308
1537
  });
1309
1538
  var OrganizationMongooseSchema = zodMongoose.toMongooseSchema(organizationSchema);
1310
1539
  var OrganizationModelName = "organizations";
1311
- var OrganizationModel = mongoose.model(OrganizationModelName, OrganizationMongooseSchema);
1540
+ var OrganizationModel = mongoose__default.default.models[OrganizationModelName] || mongoose.model(OrganizationModelName, OrganizationMongooseSchema);
1312
1541
  var ORGANIZATION_SETTING_FIELDS = [
1313
1542
  "patient_mrn_length",
1314
1543
  "patient_mrn_separator",
@@ -1342,44 +1571,6 @@ var organizationMinimalSchema = organizationSchema.omit({
1342
1571
 
1343
1572
  // src/models/organization/organization-partial.schema.ts
1344
1573
  var organizationPartialSchema = organizationMinimalSchema.partial();
1345
- var PATIENT_SCHEMA_VERSION = 1;
1346
- var patientSchema = baseSchema(PATIENT_SCHEMA_VERSION).extend({
1347
- organization_id: objectIdSchema,
1348
- registering_facility_id: objectIdSchema,
1349
- identifiers: z5.z.array(codedConceptSchema),
1350
- salutation: codedConceptSchema,
1351
- first_name: z5.z.string().min(1, { message: "first_name is required" }),
1352
- middle_name: z5.z.string().optional(),
1353
- last_name: z5.z.string().min(1, { message: "last_name is required" }),
1354
- title: z5.z.string().optional(),
1355
- image: z5.z.string().optional(),
1356
- demographic: demographicSchema.extend({
1357
- place_of_birth: demographicSchema.shape.place_of_birth.unwrap(),
1358
- date_of_birth: demographicSchema.shape.date_of_birth.unwrap(),
1359
- marital_status: demographicSchema.shape.marital_status.unwrap()
1360
- }),
1361
- statuses: z5.z.array(codedConceptSchema).nonempty({
1362
- message: "statuses must contain at least one CodedConcept"
1363
- }),
1364
- contacts: z5.z.array(codedConceptSchema).optional(),
1365
- address: addressSchema
1366
- });
1367
- var PatientMongooseSchema = zodMongoose.toMongooseSchema(patientSchema);
1368
- var PatientModelName = "patients";
1369
- var PatientModel = mongoose.model(PatientModelName, PatientMongooseSchema);
1370
-
1371
- // src/models/patient/patient-minimal.schema.ts
1372
- var patientMinimalSchema = patientSchema.omit({
1373
- _id: true,
1374
- created_at: true,
1375
- created_by: true,
1376
- updated_at: true,
1377
- updated_by: true,
1378
- schema_version: true
1379
- });
1380
-
1381
- // src/models/patient/patient-partial.schema.ts
1382
- var patientPartialSchema = patientMinimalSchema.partial();
1383
1574
  var PATIENT_ADDITIONAL_SCHEMA_VERSION = 1;
1384
1575
  var patientAdditionalSchema = baseSchema(PATIENT_ADDITIONAL_SCHEMA_VERSION).extend({
1385
1576
  patient_id: objectIdSchema,
@@ -1388,7 +1579,7 @@ var patientAdditionalSchema = baseSchema(PATIENT_ADDITIONAL_SCHEMA_VERSION).exte
1388
1579
  });
1389
1580
  var PatientAdditionalMongooseSchema = zodMongoose.toMongooseSchema(patientAdditionalSchema);
1390
1581
  var PatientAdditionalModelName = "patient_additionals";
1391
- var PatientAdditionalModel = mongoose.model(PatientAdditionalModelName, PatientAdditionalMongooseSchema);
1582
+ var PatientAdditionalModel = mongoose__default.default.models[PatientAdditionalModelName] || mongoose.model(PatientAdditionalModelName, PatientAdditionalMongooseSchema);
1392
1583
 
1393
1584
  // src/models/patient-additional/patient-additional-minimal.schema.ts
1394
1585
  var patientAdditionalMinimalSchema = patientAdditionalSchema.omit({
@@ -1414,7 +1605,7 @@ var staffSchema = baseSchema(STAFF_SCHEMA_VERSION).extend({
1414
1605
  });
1415
1606
  var StaffMongooseSchema = zodMongoose.toMongooseSchema(staffSchema);
1416
1607
  var StaffModelName = "staffs";
1417
- var StaffModel = mongoose.model(StaffModelName, StaffMongooseSchema);
1608
+ var StaffModel = mongoose__default.default.models[StaffModelName] || mongoose.model(StaffModelName, StaffMongooseSchema);
1418
1609
 
1419
1610
  // src/models/staff/staff-minimal.schema.ts
1420
1611
  var staffMinimalSchema = staffSchema.omit({
@@ -1442,7 +1633,7 @@ var unitSchema = baseSchema(UNIT_SCHEMA_VERSION).extend({
1442
1633
  });
1443
1634
  var UnitMongooseSchema = zodMongoose.toMongooseSchema(unitSchema);
1444
1635
  var UnitModelName = "units";
1445
- var UnitModel = mongoose.model(UnitModelName, UnitMongooseSchema);
1636
+ var UnitModel = mongoose__default.default.models[UnitModelName] || mongoose.model(UnitModelName, UnitMongooseSchema);
1446
1637
 
1447
1638
  // src/models/unit/unit-minimal.schema.ts
1448
1639
  var unitMinimalSchema = unitSchema.omit({
@@ -1469,7 +1660,7 @@ var practitionerScheduleSchema = baseSchema(
1469
1660
  });
1470
1661
  var PractitionerScheduleMongooseSchema = zodMongoose.toMongooseSchema(practitionerScheduleSchema);
1471
1662
  var PractitionerScheduleModelName = "practitioner_schedules";
1472
- var PractitionerScheduleModel = mongoose.model(PractitionerScheduleModelName, PractitionerScheduleMongooseSchema);
1663
+ var PractitionerScheduleModel = mongoose__default.default.models[PractitionerScheduleModelName] || mongoose.model(PractitionerScheduleModelName, PractitionerScheduleMongooseSchema);
1473
1664
 
1474
1665
  // src/models/practitioner-schedule/practitioner-schedule-minimal.schema.ts
1475
1666
  var practitionerScheduleMinimalSchema = practitionerScheduleSchema.omit({
@@ -1496,7 +1687,7 @@ var practitionerSessionSchema = baseSchema(
1496
1687
  });
1497
1688
  var PractitionerSessionMongooseSchema = zodMongoose.toMongooseSchema(practitionerSessionSchema);
1498
1689
  var PractitionerSessionModelName = "practitioner_sessions";
1499
- var PractitionerSessionModel = mongoose.model(PractitionerSessionModelName, PractitionerSessionMongooseSchema);
1690
+ var PractitionerSessionModel = mongoose__default.default.models[PractitionerSessionModelName] || mongoose.model(PractitionerSessionModelName, PractitionerSessionMongooseSchema);
1500
1691
 
1501
1692
  // src/models/practitioner-session/practitioner-session-minimal.schema.ts
1502
1693
  var practitionerSessionMinimalSchema = practitionerSessionSchema.omit({
@@ -1519,7 +1710,7 @@ var ksmSchema = baseSchema(KSM_SCHEMA_VERSION).extend({
1519
1710
  });
1520
1711
  var KsmMongooseSchema = zodMongoose.toMongooseSchema(ksmSchema);
1521
1712
  var KsmModelName = "medical_staff_groups";
1522
- var KsmModel = mongoose.model(KsmModelName, KsmMongooseSchema);
1713
+ var KsmModel = mongoose__default.default.models[KsmModelName] || mongoose.model(KsmModelName, KsmMongooseSchema);
1523
1714
 
1524
1715
  // src/models/ksm/ksm-minimal.schema.ts
1525
1716
  var ksmMinimalSchema = ksmSchema.omit({
@@ -1574,7 +1765,7 @@ var payerSchema = baseSchema(PAYER_SCHEMA_VERSION).extend({
1574
1765
  });
1575
1766
  var PayerMongooseSchema = zodMongoose.toMongooseSchema(payerSchema);
1576
1767
  var PayerModelName = "payers";
1577
- var PayerModel = mongoose.model(PayerModelName, PayerMongooseSchema);
1768
+ var PayerModel = mongoose__default.default.models[PayerModelName] || mongoose.model(PayerModelName, PayerMongooseSchema);
1578
1769
  var PAYER_SETTING_FIELDS = [
1579
1770
  "use_header_contact_info",
1580
1771
  "use_header_bank_info",
@@ -1656,7 +1847,7 @@ var queueSchema = baseSchema(QUEUE_SCHEMA_VERSION).extend({
1656
1847
  });
1657
1848
  var QueueMongooseSchema = zodMongoose.toMongooseSchema(queueSchema);
1658
1849
  var QueueModelName = "queues";
1659
- var QueueModel = mongoose.model(QueueModelName, QueueMongooseSchema);
1850
+ var QueueModel = mongoose__default.default.models[QueueModelName] || mongoose.model(QueueModelName, QueueMongooseSchema);
1660
1851
 
1661
1852
  // src/models/queue/queue-minimal.schema.ts
1662
1853
  var queueMinimalSchema = queueSchema.omit({
@@ -1679,7 +1870,7 @@ var queueEventLogSchema = baseSchema(QUEUE_EVENT_LOG_SCHEMA_VERSION).extend({
1679
1870
  });
1680
1871
  var QueueEventLogMongooseSchema = zodMongoose.toMongooseSchema(queueEventLogSchema);
1681
1872
  var QueueEventLogModelName = "queue_event_logs";
1682
- var QueueEventLogModel = mongoose.model(QueueEventLogModelName, QueueEventLogMongooseSchema);
1873
+ var QueueEventLogModel = mongoose__default.default.models[QueueEventLogModelName] || mongoose.model(QueueEventLogModelName, QueueEventLogMongooseSchema);
1683
1874
 
1684
1875
  // src/models/queue-event-log/queue-event-log-minimal.schema.ts
1685
1876
  var queueEventLogMinimalSchema = queueEventLogSchema.omit({
@@ -1716,10 +1907,7 @@ var queueNumberSchema = baseSchemaWithExpiredAt(
1716
1907
  });
1717
1908
  var QueueNumberMongooseSchema = zodMongoose.toMongooseSchema(queueNumberSchema);
1718
1909
  var QueueNumberModelName = "queue_numbers";
1719
- var QueueNumberModel = mongoose.model(
1720
- QueueNumberModelName,
1721
- QueueNumberMongooseSchema
1722
- );
1910
+ var QueueNumberModel = mongoose__default.default.models[QueueNumberModelName] || mongoose.model(QueueNumberModelName, QueueNumberMongooseSchema);
1723
1911
  var QUEUE_NUMBER_SETTING_FIELDS = [
1724
1912
  "use_header_contact_info",
1725
1913
  "use_header_bank_info",
@@ -1794,7 +1982,7 @@ var articleSchema = baseSchema(ARTICLE_SCHEMA_VERSION).extend({
1794
1982
  });
1795
1983
  var ArticleMongooseSchema = zodMongoose.toMongooseSchema(articleSchema);
1796
1984
  var ArticleModelName = "articles";
1797
- var ArticleModel = mongoose.model(ArticleModelName, ArticleMongooseSchema);
1985
+ var ArticleModel = mongoose__default.default.models[ArticleModelName] || mongoose.model(ArticleModelName, ArticleMongooseSchema);
1798
1986
 
1799
1987
  // src/models/article/article-minimal.schema.ts
1800
1988
  var articleMinimalSchema = articleSchema.omit({
@@ -1809,8 +1997,11 @@ var articleMinimalSchema = articleSchema.omit({
1809
1997
  // src/models/article/article-partial.schema.ts
1810
1998
  var articlePartialSchema = articleMinimalSchema.partial();
1811
1999
 
2000
+ exports.APPOINTMENT_SCHEMA_VERSION = APPOINTMENT_SCHEMA_VERSION;
1812
2001
  exports.ARTICLE_SCHEMA_VERSION = ARTICLE_SCHEMA_VERSION;
1813
2002
  exports.ASSIGNMENT_SCHEMA_VERSION = ASSIGNMENT_SCHEMA_VERSION;
2003
+ exports.AppointmentModel = AppointmentModel;
2004
+ exports.AppointmentMongooseSchema = AppointmentMongooseSchema;
1814
2005
  exports.ArticleModel = ArticleModel;
1815
2006
  exports.ArticleMongooseSchema = ArticleMongooseSchema;
1816
2007
  exports.AssignmentModel = AssignmentModel;
@@ -1818,6 +2009,12 @@ exports.AssignmentMongooseSchema = AssignmentMongooseSchema;
1818
2009
  exports.DEPARTMENT_SCHEMA_VERSION = DEPARTMENT_SCHEMA_VERSION;
1819
2010
  exports.DepartmentModel = DepartmentModel;
1820
2011
  exports.DepartmentMongooseSchema = DepartmentMongooseSchema;
2012
+ exports.ENCOUNTER_ADDITIONAL_SCHEMA_VERSION = ENCOUNTER_ADDITIONAL_SCHEMA_VERSION;
2013
+ exports.ENCOUNTER_SCHEMA_VERSION = ENCOUNTER_SCHEMA_VERSION;
2014
+ exports.EncounterAdditionalModel = EncounterAdditionalModel;
2015
+ exports.EncounterAdditionalMongooseSchema = EncounterAdditionalMongooseSchema;
2016
+ exports.EncounterModel = EncounterModel;
2017
+ exports.EncounterMongooseSchema = EncounterMongooseSchema;
1821
2018
  exports.FACILITY_SCHEMA_VERSION = FACILITY_SCHEMA_VERSION;
1822
2019
  exports.FACILITY_SETTINGS_SCHEMA_VERSION = FACILITY_SETTINGS_SCHEMA_VERSION;
1823
2020
  exports.FacilityModel = FacilityModel;
@@ -1829,9 +2026,15 @@ exports.LOCATION_SCHEMA_VERSION = LOCATION_SCHEMA_VERSION;
1829
2026
  exports.LOCATION_SETTINGS_SCHEMA_VERSION = LOCATION_SETTINGS_SCHEMA_VERSION;
1830
2027
  exports.LocationModel = LocationModel;
1831
2028
  exports.LocationMongooseSchema = LocationMongooseSchema;
2029
+ exports.MEDICAL_RECORD_SCHEMA_VERSION = MEDICAL_RECORD_SCHEMA_VERSION;
1832
2030
  exports.MEMBER_SCHEMA_VERSION = MEMBER_SCHEMA_VERSION;
2031
+ exports.MedicalRecordModel = MedicalRecordModel;
2032
+ exports.MedicalRecordMongooseSchema = MedicalRecordMongooseSchema;
1833
2033
  exports.MemberModel = MemberModel;
1834
2034
  exports.MemberMongooseSchema = MemberMongooseSchema;
2035
+ exports.NOTE_SCHEMA_VERSION = NOTE_SCHEMA_VERSION;
2036
+ exports.NoteModel = NoteModel;
2037
+ exports.NoteMongooseSchema = NoteMongooseSchema;
1835
2038
  exports.ORGANIZATION_SCHEMA_VERSION = ORGANIZATION_SCHEMA_VERSION;
1836
2039
  exports.ORGANIZATION_SETTINGS_SCHEMA_VERSION = ORGANIZATION_SETTINGS_SCHEMA_VERSION;
1837
2040
  exports.OrganizationModel = OrganizationModel;
@@ -1874,6 +2077,9 @@ exports.UserModel = UserModel;
1874
2077
  exports.UserMongooseSchema = UserMongooseSchema;
1875
2078
  exports.addressSchema = addressSchema;
1876
2079
  exports.apiResponseSchema = apiResponseSchema;
2080
+ exports.appointmentMinimalSchema = appointmentMinimalSchema;
2081
+ exports.appointmentPartialSchema = appointmentPartialSchema;
2082
+ exports.appointmentSchema = appointmentSchema;
1877
2083
  exports.articleMinimalSchema = articleMinimalSchema;
1878
2084
  exports.articlePartialSchema = articlePartialSchema;
1879
2085
  exports.articleSchema = articleSchema;
@@ -1887,6 +2093,12 @@ exports.demographicSchema = demographicSchema;
1887
2093
  exports.departmentMinimalSchema = departmentMinimalSchema;
1888
2094
  exports.departmentPartialSchema = departmentPartialSchema;
1889
2095
  exports.departmentSchema = departmentSchema;
2096
+ exports.encounterAdditionalMinimalSchema = encounterAdditionalMinimalSchema;
2097
+ exports.encounterAdditionalPartialSchema = encounterAdditionalPartialSchema;
2098
+ exports.encounterAdditionalSchema = encounterAdditionalSchema;
2099
+ exports.encounterMinimalSchema = encounterMinimalSchema;
2100
+ exports.encounterPartialSchema = encounterPartialSchema;
2101
+ exports.encounterSchema = encounterSchema;
1890
2102
  exports.facilityMinimalSchema = facilityMinimalSchema;
1891
2103
  exports.facilityPartialSchema = facilityPartialSchema;
1892
2104
  exports.facilitySchema = facilitySchema;
@@ -1900,10 +2112,16 @@ exports.locationPartialSchema = locationPartialSchema;
1900
2112
  exports.locationSchema = locationSchema;
1901
2113
  exports.locationSettingsKVSchema = locationSettingsKVSchema;
1902
2114
  exports.locationSettingsSchema = locationSettingsSchema;
2115
+ exports.medicalRecordMinimalSchema = medicalRecordMinimalSchema;
2116
+ exports.medicalRecordPartialSchema = medicalRecordPartialSchema;
2117
+ exports.medicalRecordSchema = medicalRecordSchema;
1903
2118
  exports.memberMinimalSchema = memberMinimalSchema;
1904
2119
  exports.memberPartialSchema = memberPartialSchema;
1905
2120
  exports.memberSchema = memberSchema;
1906
2121
  exports.metadataSchema = metadataSchema;
2122
+ exports.noteMinimalSchema = noteMinimalSchema;
2123
+ exports.notePartialSchema = notePartialSchema;
2124
+ exports.noteSchema = noteSchema;
1907
2125
  exports.objectIdSchema = objectIdSchema;
1908
2126
  exports.organizationMinimalSchema = organizationMinimalSchema;
1909
2127
  exports.organizationPartialSchema = organizationPartialSchema;