diff --git a/fhirResourcesToLoad/1. practitioner.json b/fhirResourcesToLoad/1. practitioner.json index fab9ab5..af30e67 100644 --- a/fhirResourcesToLoad/1. practitioner.json +++ b/fhirResourcesToLoad/1. practitioner.json @@ -17,37 +17,37 @@ { "system": "http://terminology.hl7.org/3.1.0/CodeSystem-v2-0203", "code": "MD" - } ] }, - "value": "555123555" + "system": "http://michigan.gov/medical-license", + "value": "MI4804444444" } ], "address": [ { - "use": "home", + "use": "work", "type": "both", - "state": "NY", - "city": "Buffalo", - "postalCode": "14210", - "line": ["840 Seneca St"] + "state": "MI", + "city": "Detroit", + "postalCode": "48224", + "line": ["18051 Mack Avenue"] } ], "telecom": [ { "system": "phone", - "value": "716-873-1557", + "value": "(555) 384-4444", "rank": 1 }, { "system": "email", - "value": "jane.betty@myhospital.com", + "value": "jane.betty@motorcitysnf.com", "rank": 2 }, { "system": "fax", - "value": "555-123-4567", + "value": "(555) 384-4445", "rank": 3 } ], @@ -163,4 +163,4 @@ } } ] -} +} \ No newline at end of file diff --git a/fhirResourcesToLoad/rems_snow_01_patient.json b/fhirResourcesToLoad/rems_snow_01_patient.json index 3f35448..08170a8 100644 --- a/fhirResourcesToLoad/rems_snow_01_patient.json +++ b/fhirResourcesToLoad/rems_snow_01_patient.json @@ -7,17 +7,17 @@ { "use": "home", "type": "both", - "state": "Westeros", - "city": "Winterfell", - "postalCode": "00008", - "line": ["1 Winterfell Rd"] + "state": "MA", + "city": "Boston", + "postalCode": "02134", + "line": ["205 Main St"] } ], "name": [ { "use": "official", "family": "Snow", - "given": ["Jon", "Stark"] + "given": ["John"] } ], "identifier": [ diff --git a/fhirResourcesToLoad/rems_snow_medicationrequest_IPledge.json b/fhirResourcesToLoad/rems_snow_medicationrequest_IPledge.json index 57e7afb..567e33b 100644 --- a/fhirResourcesToLoad/rems_snow_medicationrequest_IPledge.json +++ b/fhirResourcesToLoad/rems_snow_medicationrequest_IPledge.json @@ -18,7 +18,7 @@ "intent": "order", "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "authoredOn": "2020-07-11", "requester": { diff --git a/fhirResourcesToLoad/rems_snow_medicationrequest_TIRF.json b/fhirResourcesToLoad/rems_snow_medicationrequest_TIRF.json index 5f03130..488bb4d 100644 --- a/fhirResourcesToLoad/rems_snow_medicationrequest_TIRF.json +++ b/fhirResourcesToLoad/rems_snow_medicationrequest_TIRF.json @@ -18,7 +18,7 @@ "intent": "order", "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "authoredOn": "2020-07-11", "requester": { diff --git a/fhirResourcesToLoad/rems_snow_medicationrequest_acetaminophen.json b/fhirResourcesToLoad/rems_snow_medicationrequest_acetaminophen.json index da99513..2a57148 100644 --- a/fhirResourcesToLoad/rems_snow_medicationrequest_acetaminophen.json +++ b/fhirResourcesToLoad/rems_snow_medicationrequest_acetaminophen.json @@ -42,7 +42,7 @@ }, "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "authoredOn": "2023-06-05", "requester": { diff --git a/fhirResourcesToLoad/rems_snow_medicationrequest_addyi.json b/fhirResourcesToLoad/rems_snow_medicationrequest_addyi.json index aeaad4d..30a8530 100644 --- a/fhirResourcesToLoad/rems_snow_medicationrequest_addyi.json +++ b/fhirResourcesToLoad/rems_snow_medicationrequest_addyi.json @@ -18,7 +18,7 @@ "intent": "order", "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "authoredOn": "2024-02-29", "requester": { diff --git a/fhirResourcesToLoad/rems_snow_medicationrequest_turalio.json b/fhirResourcesToLoad/rems_snow_medicationrequest_turalio.json index fd0c278..2faa964 100644 --- a/fhirResourcesToLoad/rems_snow_medicationrequest_turalio.json +++ b/fhirResourcesToLoad/rems_snow_medicationrequest_turalio.json @@ -18,7 +18,7 @@ "intent": "order", "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "authoredOn": "2020-07-11", "requester": { diff --git a/fhirResourcesToLoad/rems_snow_medicationstatement_metformin.json b/fhirResourcesToLoad/rems_snow_medicationstatement_metformin.json index 5af82fe..fba3b71 100644 --- a/fhirResourcesToLoad/rems_snow_medicationstatement_metformin.json +++ b/fhirResourcesToLoad/rems_snow_medicationstatement_metformin.json @@ -22,12 +22,12 @@ }, "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "effectiveDateTime": "2021-03-20", "dateAsserted": "2021-03-22", "informationSource": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" } } diff --git a/fhirResourcesToLoad/rems_snow_medicationstatement_morphine.json b/fhirResourcesToLoad/rems_snow_medicationstatement_morphine.json index 7bed03a..f8f3d0d 100644 --- a/fhirResourcesToLoad/rems_snow_medicationstatement_morphine.json +++ b/fhirResourcesToLoad/rems_snow_medicationstatement_morphine.json @@ -16,13 +16,13 @@ }, "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "effectiveDateTime": "2021-03-20", "dateAsserted": "2021-03-22", "informationSource": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "dosage": [ { diff --git a/fhirResourcesToLoad/rems_snow_medicationstatement_oxycodone.json b/fhirResourcesToLoad/rems_snow_medicationstatement_oxycodone.json index 1658d65..8397d4f 100644 --- a/fhirResourcesToLoad/rems_snow_medicationstatement_oxycodone.json +++ b/fhirResourcesToLoad/rems_snow_medicationstatement_oxycodone.json @@ -16,13 +16,13 @@ }, "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "effectiveDateTime": "2022-07-20", "dateAsserted": "2022-01-22", "informationSource": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "dosage": [ { diff --git a/fhirResourcesToLoad/rems_snow_medicationstatement_turalio.json b/fhirResourcesToLoad/rems_snow_medicationstatement_turalio.json index 52eb73f..9c14d0d 100644 --- a/fhirResourcesToLoad/rems_snow_medicationstatement_turalio.json +++ b/fhirResourcesToLoad/rems_snow_medicationstatement_turalio.json @@ -75,13 +75,13 @@ }, "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "effectiveDateTime": "2020-07-10", "dateAsserted": "2020-07-22", "informationSource": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "derivedFrom": [ { diff --git a/fhirResourcesToLoad/rems_snow_medicationstatement_ursodiol.json b/fhirResourcesToLoad/rems_snow_medicationstatement_ursodiol.json index 4ecc118..1698f31 100644 --- a/fhirResourcesToLoad/rems_snow_medicationstatement_ursodiol.json +++ b/fhirResourcesToLoad/rems_snow_medicationstatement_ursodiol.json @@ -16,13 +16,13 @@ }, "subject": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "effectiveDateTime": "2023-03-20", "dateAsserted": "2021-03-22", "informationSource": { "reference": "Patient/pat017", - "display": "Jon Snow" + "display": "John Snow" }, "reasonCode": [ { diff --git a/fhirResourcesToLoad/rems_violet_01_patient.json b/fhirResourcesToLoad/rems_violet_01_patient.json new file mode 100644 index 0000000..30f428f --- /dev/null +++ b/fhirResourcesToLoad/rems_violet_01_patient.json @@ -0,0 +1,49 @@ +{ + "resourceType": "Patient", + "id": "pat018", + "gender": "female", + "birthDate": "2008-10-01", + "address": [ + { + "use": "home", + "type": "both", + "state": "MI", + "city": "Detroit", + "postalCode": "48224", + "line": ["15935 Mack Avenue"] + } + ], + "name": [ + { + "use": "official", + "family": "Gartner", + "given": ["Violet"] + } + ], + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-medicare", + "value": "1EG4TE5MK73" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "SS", + "display": "Social Security Number" + } + ] + }, + "system": "http://hl7.org/fhir/sid/us-ssn", + "value": "111-45-6677" + } + ], + "telecom": [ + { + "system": "phone", + "value": "(555) 666-7777", + "use": "mobile" + } + ] +} \ No newline at end of file diff --git a/fhirResourcesToLoad/rems_violet_coverage.json b/fhirResourcesToLoad/rems_violet_coverage.json new file mode 100644 index 0000000..ae4ffb9 --- /dev/null +++ b/fhirResourcesToLoad/rems_violet_coverage.json @@ -0,0 +1,23 @@ +{ + "resourceType": "Coverage", + "id": "cov018", + "beneficiary": { + "reference": "Patient/pat018" + }, + "status": "active", + "subscriberId": "1EG4TE5MK73", + "class": [ + { + "type": { + "system": "http://hl7.org/fhir/coverage-class", + "code": "plan" + }, + "value": "Medicare Part A" + } + ], + "payor": [ + { + "reference": "Organization/org1234" + } + ] +} \ No newline at end of file diff --git a/fhirResourcesToLoad/rems_violet_medicationrequest-IPledge-stephen_strange.json b/fhirResourcesToLoad/rems_violet_medicationrequest-IPledge-stephen_strange.json new file mode 100644 index 0000000..b0c9d7d --- /dev/null +++ b/fhirResourcesToLoad/rems_violet_medicationrequest-IPledge-stephen_strange.json @@ -0,0 +1,104 @@ +{ + "resourceType": "MedicationRequest", + "id": "pat018-mr-IPledge-strange", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest" + ] + }, + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "6064", + "display": "Isotretinoin 20 MG Oral Capsule" + }, + { + "system": "http://hl7.org/fhir/sid/ndc", + "code": "0245-0571-01" + } + ] + }, + "status": "active", + "intent": "order", + "subject": { + "reference": "Patient/pat018", + "display": "Violet Gartner" + }, + "authoredOn": "2026-01-15", + "requester": { + "reference": "Practitioner/pra-sstrange", + "display": "Stephen Strange" + }, + "reasonCode": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "88616000", + "display": "Severe acne" + } + ], + "text": "Severe nodular acne - continued treatment after transfer" + } + ], + "insurance": [ + { + "reference": "Coverage/cov018" + } + ], + "dosageInstruction": [ + { + "sequence": 1, + "text": "40mg twice daily", + "timing": { + "repeat": { + "frequency": 2, + "period": 1, + "periodUnit": "d" + } + }, + "route": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "26643006", + "display": "Oral route (qualifier value)" + } + ] + }, + "doseAndRate": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/dose-rate-type", + "code": "ordered", + "display": "Ordered" + } + ] + }, + "doseQuantity": { + "value": 40, + "unit": "mg", + "system": "http://unitsofmeasure.org", + "code": "mg" + } + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 60, + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "CAP" + }, + "numberOfRepeatsAllowed": 3 + }, + "note": [ + { + "text": "iPledge REMS program enrollment required. Patient transferred from previous care facility. New prescriber Dr. Stephen Strange will continue isotretinoin treatment." + } + ] +} \ No newline at end of file diff --git a/fhirResourcesToNotLoad/rems_violet_medicationrequest_IPledge-jane_doe.json b/fhirResourcesToNotLoad/rems_violet_medicationrequest_IPledge-jane_doe.json new file mode 100644 index 0000000..5b90fa8 --- /dev/null +++ b/fhirResourcesToNotLoad/rems_violet_medicationrequest_IPledge-jane_doe.json @@ -0,0 +1,104 @@ +{ + "resourceType": "MedicationRequest", + "id": "pat018-mr-IPledge", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest" + ] + }, + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "6064", + "display": "Isotretinoin 20 MG Oral Capsule" + }, + { + "system": "http://hl7.org/fhir/sid/ndc", + "code": "0245-0571-01" + } + ] + }, + "status": "active", + "intent": "order", + "subject": { + "reference": "Patient/pat018", + "display": "Violet Gartner" + }, + "authoredOn": "2026-01-12", + "requester": { + "reference": "Practitioner/pra1234", + "display": "Jane Doe" + }, + "reasonCode": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "88616000", + "display": "Severe acne" + } + ], + "text": "Severe nodular acne" + } + ], + "insurance": [ + { + "reference": "Coverage/cov018" + } + ], + "dosageInstruction": [ + { + "sequence": 1, + "text": "40mg twice daily", + "timing": { + "repeat": { + "frequency": 2, + "period": 1, + "periodUnit": "d" + } + }, + "route": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "26643006", + "display": "Oral route (qualifier value)" + } + ] + }, + "doseAndRate": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/dose-rate-type", + "code": "ordered", + "display": "Ordered" + } + ] + }, + "doseQuantity": { + "value": 40, + "unit": "mg", + "system": "http://unitsofmeasure.org", + "code": "mg" + } + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 60, + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "CAP" + }, + "numberOfRepeatsAllowed": 3 + }, + "note": [ + { + "text": "iPledge REMS program enrollment required for patient and prescriber. Patient counseling completed on pregnancy prevention and side effects." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/ClientFhirServerRealm.json b/src/main/resources/ClientFhirServerRealm.json index 3d975e2..e283e8f 100644 --- a/src/main/resources/ClientFhirServerRealm.json +++ b/src/main/resources/ClientFhirServerRealm.json @@ -404,7 +404,7 @@ "otpPolicyLookAheadWindow" : 1, "otpPolicyPeriod" : 30, "otpPolicyCodeReusable" : false, - "otpSupportedApplications" : [ "totpAppMicrosoftAuthenticatorName", "totpAppFreeOTPName", "totpAppGoogleName" ], + "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppGoogleName", "totpAppMicrosoftAuthenticatorName" ], "webAuthnPolicyRpEntityName" : "keycloak", "webAuthnPolicySignatureAlgorithms" : [ "ES256" ], "webAuthnPolicyRpId" : "", @@ -533,13 +533,13 @@ }, { "id" : "d6999f64-7165-4742-8a69-44f719d6783f", "createdTimestamp" : 1654609729216, - "username" : "jonsnow", + "username" : "johnsnow", "enabled" : true, "totp" : false, "emailVerified" : false, - "firstName" : "Jon", + "firstName" : "John", "lastName" : "Snow", - "email" : "jon@example.com", + "email" : "john@example.com", "attributes" : { "patientId" : [ "pat017" ], "userId" : [ "pat017" ] @@ -547,8 +547,9 @@ "credentials" : [ { "id" : "232e4607-8591-40c8-8ca8-1a365f63cadf", "type" : "password", - "createdDate" : 1654609739752, - "secretData" : "{\"value\":\"Xq7cH7ifZxji7HbjOCvADrZayo4ioDay727u7Rb2bXM=\",\"salt\":\"mXdOhvm6+MkT7rXj0z76Wg==\",\"additionalParameters\":{}}", + "userLabel" : "My password", + "createdDate" : 1758653996291, + "secretData" : "{\"value\":\"vva41PowfDtg2JX0Q9wsTX1Y4q7C9/8HbFAd10OAN9w=\",\"salt\":\"e4j4iRZCnJqzyWatthKfxw==\",\"additionalParameters\":{}}", "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" } ], "disableableCredentialTypes" : [ ], @@ -872,11 +873,16 @@ }, { "id" : "2377b208-3490-43cd-80ae-6aa738e70ff8", "clientId" : "pims-login", + "name" : "", + "description" : "", + "rootUrl" : "", + "adminUrl" : "", + "baseUrl" : "", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ "http://localhost:3006" ], + "redirectUris" : [ "http://localhost:5050/*" ], "webOrigins" : [ "*" ], "notBefore" : 0, "bearerOnly" : false, @@ -889,28 +895,30 @@ "frontchannelLogout" : false, "protocol" : "openid-connect", "attributes" : { - "id.token.as.detached.signature" : "false", - "saml.assertion.signature" : "false", "saml.force.post.binding" : "false", "saml.multivalued.roles" : "false", - "saml.encrypt" : "false", "post.logout.redirect.uris" : "+", "oauth2.device.authorization.grant.enabled" : "false", "backchannel.logout.revoke.offline.tokens" : "false", - "saml.server.signature" : "false", "saml.server.signature.keyinfo.ext" : "false", "use.refresh.tokens" : "true", - "exclude.session.state.from.auth.response" : "false", "oidc.ciba.grant.enabled" : "false", - "saml.artifact.binding" : "false", "backchannel.logout.session.required" : "true", "client_credentials.use_refresh_token" : "false", - "saml_force_name_id_format" : "false", "require.pushed.authorization.requests" : "false", "saml.client.signature" : "false", + "id.token.as.detached.signature" : "false", + "saml.assertion.signature" : "false", + "saml.encrypt" : "false", + "saml.server.signature" : "false", + "exclude.session.state.from.auth.response" : "false", + "saml.artifact.binding" : "false", + "saml_force_name_id_format" : "false", "tls.client.certificate.bound.access.tokens" : "false", + "acr.loa.map" : "{}", "saml.authnstatement" : "false", "display.on.consent.screen" : "false", + "token.response.type.bearer.lower-case" : "false", "saml.onetimeuse.condition" : "false" }, "authenticationFlowBindingOverrides" : { }, @@ -1632,7 +1640,7 @@ "subType" : "authenticated", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "saml-user-property-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "saml-user-attribute-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-full-name-mapper" ] + "allowed-protocol-mapper-types" : [ "saml-role-list-mapper", "oidc-usermodel-property-mapper", "oidc-full-name-mapper", "oidc-address-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-usermodel-attribute-mapper", "oidc-sha256-pairwise-sub-mapper" ] } }, { "id" : "04e6b32d-3412-44dc-8026-639895a1d7aa", @@ -1657,7 +1665,7 @@ "subType" : "anonymous", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-role-list-mapper", "oidc-usermodel-property-mapper", "oidc-address-mapper", "saml-user-attribute-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper" ] + "allowed-protocol-mapper-types" : [ "oidc-usermodel-attribute-mapper", "saml-user-attribute-mapper", "saml-role-list-mapper", "saml-user-property-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "oidc-full-name-mapper" ] } } ], "org.keycloak.keys.KeyProvider" : [ {